1
2 package org.apache.shardingsphere.sql.parser.autogen;
3 import org.antlr.v4.runtime.atn.*;
4 import org.antlr.v4.runtime.dfa.DFA;
5 import org.antlr.v4.runtime.*;
6 import org.antlr.v4.runtime.misc.*;
7 import org.antlr.v4.runtime.tree.*;
8 import java.util.List;
9 import java.util.Iterator;
10 import java.util.ArrayList;
11
12 @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
13 public class SQLServerStatementParser extends Parser {
14 static { RuntimeMetaData.checkVersion("4.10.1", RuntimeMetaData.VERSION); }
15
16 protected static final DFA[] _decisionToDFA;
17 protected static final PredictionContextCache _sharedContextCache =
18 new PredictionContextCache();
19 public static final int
20 T__0=1, BLOCK_COMMENT=2, INLINE_COMMENT=3, AND_=4, OR_=5, NOT_=6, TILDE_=7,
21 VERTICAL_BAR_=8, AMPERSAND_=9, SIGNED_LEFT_SHIFT_=10, SIGNED_RIGHT_SHIFT_=11,
22 CARET_=12, MOD_=13, COLON_=14, PLUS_=15, MINUS_=16, ASTERISK_=17, SLASH_=18,
23 BACKSLASH_=19, DOT_=20, DOT_ASTERISK_=21, SAFE_EQ_=22, DEQ_=23, EQ_=24,
24 NEQ_=25, GT_=26, GTE_=27, LT_=28, LTE_=29, POUND_=30, LP_=31, RP_=32,
25 LBE_=33, RBE_=34, LBT_=35, RBT_=36, COMMA_=37, DQ_=38, SQ_=39, BQ_=40,
26 QUESTION_=41, AT_=42, SEMI_=43, DOLLAR_=44, WS=45, SELECT=46, INSERT=47,
27 UPDATE=48, DELETE=49, CREATE=50, ALTER=51, DROP=52, TRUNCATE=53, SCHEMA=54,
28 GRANT=55, REVOKE=56, ADD=57, SET=58, TABLE=59, COLUMN=60, COLUMNS=61,
29 INDEX=62, CONSTRAINT=63, PRIMARY=64, UNIQUE=65, FOREIGN=66, KEY=67, POSITION=68,
30 PRECISION=69, FUNCTION=70, TRIGGER=71, PROCEDURE=72, PROC=73, VIEW=74,
31 INTO=75, VALUES=76, WITH=77, UNION=78, DISTINCT=79, CASE=80, WHEN=81,
32 CAST=82, TRIM=83, SUBSTRING=84, FROM=85, NATURAL=86, JOIN=87, FULL=88,
33 INNER=89, OUTER=90, LEFT=91, RIGHT=92, CROSS=93, USING=94, WHERE=95, AS=96,
34 ON=97, OFF=98, IF=99, ELSE=100, THEN=101, FOR=102, TO=103, AND=104, OR=105,
35 IS=106, NOT=107, NULL=108, TRUE=109, FALSE=110, EXISTS=111, BETWEEN=112,
36 IN=113, ALL=114, ANY=115, LIKE=116, ORDER=117, GROUP=118, BY=119, ASC=120,
37 DESC=121, HAVING=122, LIMIT=123, OFFSET=124, BEGIN=125, COMMIT=126, ROLLBACK=127,
38 SAVEPOINT=128, BOOLEAN=129, DOUBLE=130, CHAR=131, CHARACTER=132, ARRAY=133,
39 INTERVAL=134, DATE=135, TIME=136, TIMESTAMP=137, LOCALTIME=138, LOCALTIMESTAMP=139,
40 YEAR=140, QUARTER=141, MONTH=142, WEEK=143, DAY=144, HOUR=145, MINUTE=146,
41 SECOND=147, MICROSECOND=148, MAX=149, MIN=150, SUM=151, COUNT=152, AVG=153,
42 DEFAULT=154, CURRENT=155, ENABLE=156, DISABLE=157, CALL=158, INSTANCE=159,
43 PRESERVE=160, DO=161, DEFINER=162, CURRENT_USER=163, SQL=164, CASCADED=165,
44 LOCAL=166, CLOSE=167, OPEN=168, NEXT=169, NAME=170, COLLATION=171, NAMES=172,
45 INTEGER=173, REAL=174, DECIMAL=175, TYPE=176, BIT=177, SMALLINT=178, INT=179,
46 TINYINT=180, NUMERIC=181, FLOAT=182, BIGINT=183, TEXT=184, VARCHAR=185,
47 PERCENT=186, TIES=187, EXCEPT=188, INTERSECT=189, USE=190, MERGE=191,
48 LOOP=192, EXPAND=193, VIEWS=194, FAST=195, FORCE=196, KEEP=197, PLAN=198,
49 OPTIMIZE=199, SIMPLE=200, FORCED=201, HINT=202, READ_ONLY=203, DATABASE=204,
50 DECLARE=205, CURSOR=206, OF=207, RETURNS=208, DATEPART=209, RETURN=210,
51 READONLY=211, AT=212, PASSWORD=213, WITHOUT=214, APPLY=215, FOR_GENERATOR=216,
52 BINARY=217, ESCAPE=218, HIDDEN_=219, MOD=220, PARTITION=221, PARTITIONS=222,
53 TOP=223, ROW=224, ROWS=225, UNKNOWN=226, XOR=227, ALWAYS=228, CASCADE=229,
54 CHECK=230, GENERATED=231, NO=232, OPTION=233, PRIVILEGES=234, REFERENCES=235,
55 USER=236, ROLE=237, START=238, TRANSACTION=239, ACTION=240, ALGORITHM=241,
56 AUTO=242, BLOCKERS=243, CLUSTERED=244, NONCLUSTERED=245, COLLATE=246,
57 COLUMNSTORE=247, CONTENT=248, CONVERT=249, YEARS=250, MONTHS=251, WEEKS=252,
58 DAYS=253, MINUTES=254, DENY=255, DETERMINISTIC=256, DISTRIBUTION=257,
59 DOCUMENT=258, DURABILITY=259, ENCRYPTED=260, END=261, FILESTREAM=262,
60 FILETABLE=263, FILLFACTOR=264, FOLLOWING=265, HASH=266, HEAP=267, IDENTITY=268,
61 INBOUND=269, OUTBOUND=270, UNBOUNDED=271, INFINITE=272, LOGIN=273, MASKED=274,
62 MAXDOP=275, MOVE=276, NOCHECK=277, NONE=278, OBJECT=279, ONLINE=280, OVER=281,
63 PAGE=282, PAUSED=283, PERIOD=284, PERSISTED=285, PRECEDING=286, RANDOMIZED=287,
64 RANGE=288, REBUILD=289, REPLICATE=290, REPLICATION=291, RESUMABLE=292,
65 ROWGUIDCOL=293, SAVE=294, SELF=295, SPARSE=296, SWITCH=297, TRAN=298,
66 TRANCOUNT=299, ZONE=300, EXECUTE=301, EXEC=302, SESSION=303, CONNECT=304,
67 CONNECTION=305, CATALOG=306, CONTROL=307, CONCAT=308, TAKE=309, OWNERSHIP=310,
68 DEFINITION=311, APPLICATION=312, ASSEMBLY=313, SYMMETRIC=314, ASYMMETRIC=315,
69 SERVER=316, RECEIVE=317, CHANGE=318, TRACE=319, TRACKING=320, RESOURCES=321,
70 SETTINGS=322, STATE=323, AVAILABILITY=324, CREDENTIAL=325, ENDPOINT=326,
71 EVENT=327, NOTIFICATION=328, LINKED=329, AUDIT=330, DDL=331, XML=332,
72 IMPERSONATE=333, SECURABLES=334, AUTHENTICATE=335, EXTERNAL=336, ACCESS=337,
73 ADMINISTER=338, BULK=339, OPERATIONS=340, UNSAFE=341, SHUTDOWN=342, SCOPED=343,
74 CONFIGURATION=344, DATASPACE=345, SERVICE=346, CERTIFICATE=347, CONTRACT=348,
75 ENCRYPTION=349, MASTER=350, DATA=351, SOURCE=352, FILE=353, FORMAT=354,
76 LIBRARY=355, FULLTEXT=356, MASK=357, UNMASK=358, MESSAGE=359, REMOTE=360,
77 BINDING=361, ROUTE=362, SECURITY=363, POLICY=364, AGGREGATE=365, QUEUE=366,
78 RULE=367, SYNONYM=368, COLLECTION=369, SCRIPT=370, KILL=371, BACKUP=372,
79 LOG=373, SHOWPLAN=374, SUBSCRIBE=375, QUERY=376, NOTIFICATIONS=377, CHECKPOINT=378,
80 SEQUENCE=379, ABORT_AFTER_WAIT=380, ALLOW_PAGE_LOCKS=381, ALLOW_ROW_LOCKS=382,
81 ALL_SPARSE_COLUMNS=383, BUCKET_COUNT=384, COLUMNSTORE_ARCHIVE=385, COLUMN_ENCRYPTION_KEY=386,
82 COLUMN_SET=387, COMPRESSION_DELAY=388, DATABASE_DEAULT=389, DATA_COMPRESSION=390,
83 DATA_CONSISTENCY_CHECK=391, ENCRYPTION_TYPE=392, SYSTEM_TIME=393, SYSTEM_VERSIONING=394,
84 TEXTIMAGE_ON=395, WAIT_AT_LOW_PRIORITY=396, STATISTICS_INCREMENTAL=397,
85 STATISTICS_NORECOMPUTE=398, ROUND_ROBIN=399, SCHEMA_AND_DATA=400, SCHEMA_ONLY=401,
86 SORT_IN_TEMPDB=402, IGNORE_DUP_KEY=403, IMPLICIT_TRANSACTIONS=404, MAX_DURATION=405,
87 MEMORY_OPTIMIZED=406, MIGRATION_STATE=407, PAD_INDEX=408, REMOTE_DATA_ARCHIVE=409,
88 FILESTREAM_ON=410, FILETABLE_COLLATE_FILENAME=411, FILETABLE_DIRECTORY=412,
89 FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME=413, FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME=414,
90 FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME=415, FILTER_PREDICATE=416, HISTORY_RETENTION_PERIOD=417,
91 HISTORY_TABLE=418, LOCK_ESCALATION=419, DROP_EXISTING=420, ROW_NUMBER=421,
92 FETCH=422, FIRST=423, ONLY=424, MONEY=425, SMALLMONEY=426, DATETIMEOFFSET=427,
93 DATETIME=428, DATETIME2=429, SMALLDATETIME=430, NCHAR=431, NVARCHAR=432,
94 NTEXT=433, VARBINARY=434, IMAGE=435, SQL_VARIANT=436, UNIQUEIDENTIFIER=437,
95 HIERARCHYID=438, GEOMETRY=439, GEOGRAPHY=440, OUTPUT=441, INSERTED=442,
96 DELETED=443, ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS=444, ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES=445,
97 DISABLE_BATCH_MODE_ADAPTIVE_JOINS=446, DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK=447,
98 DISABLE_DEFERRED_COMPILATION_TV=448, DISABLE_INTERLEAVED_EXECUTION_TVF=449,
99 DISABLE_OPTIMIZED_NESTED_LOOP=450, DISABLE_OPTIMIZER_ROWGOAL=451, DISABLE_PARAMETER_SNIFFING=452,
100 DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK=453, DISABLE_TSQL_SCALAR_UDF_INLINING=454,
101 DISALLOW_BATCH_MODE=455, ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS=456, ENABLE_QUERY_OPTIMIZER_HOTFIXES=457,
102 FORCE_DEFAULT_CARDINALITY_ESTIMATION=458, FORCE_LEGACY_CARDINALITY_ESTIMATION=459,
103 QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n=460, QUERY_PLAN_PROFILE=461, EXTERNALPUSHDOWN=462,
104 SCALEOUTEXECUTION=463, IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX=464, KEEPFIXED=465,
105 MAX_GRANT_PERCENT=466, MIN_GRANT_PERCENT=467, MAXRECURSION=468, NO_PERFORMANCE_SPOOL=469,
106 PARAMETERIZATION=470, QUERYTRACEON=471, RECOMPILE=472, ROBUST=473, OPTIMIZE_FOR_SEQUENTIAL_KEY=474,
107 DATA_DELETION=475, FILTER_COLUMN=476, RETENTION_PERIOD=477, CONTAINMENT=478,
108 PARTIAL=479, FILENAME=480, SIZE=481, MAXSIZE=482, FILEGROWTH=483, UNLIMITED=484,
109 KB=485, MB=486, GB=487, TB=488, CONTAINS=489, MEMORY_OPTIMIZED_DATA=490,
110 FILEGROUP=491, NON_TRANSACTED_ACCESS=492, DB_CHAINING=493, TRUSTWORTHY=494,
111 FORWARD_ONLY=495, SCROLL=496, STATIC=497, KEYSET=498, DYNAMIC=499, FAST_FORWARD=500,
112 SCROLL_LOCKS=501, OPTIMISTIC=502, TYPE_WARNING=503, SCHEMABINDING=504,
113 CALLER=505, INPUT=506, CALLED=507, VARYING=508, OUT=509, OWNER=510, ATOMIC=511,
114 LANGUAGE=512, LEVEL=513, ISOLATION=514, SNAPSHOT=515, REPEATABLE=516,
115 READ=517, SERIALIZABLE=518, NATIVE_COMPILATION=519, VIEW_METADATA=520,
116 AFTER=521, INSTEAD=522, APPEND=523, INCREMENT=524, CYCLE=525, CACHE=526,
117 MINVALUE=527, MAXVALUE=528, RESTART=529, LOB_COMPACTION=530, COMPRESS_ALL_ROW_GROUPS=531,
118 REORGANIZE=532, RESUME=533, PAUSE=534, ABORT=535, INCLUDE=536, DISTRIBUTED=537,
119 MARK=538, WORK=539, REMOVE=540, AUTOGROW_SINGLE_FILE=541, AUTOGROW_ALL_FILES=542,
120 READWRITE=543, READ_WRITE=544, MODIFY=545, ACCELERATED_DATABASE_RECOVERY=546,
121 PERSISTENT_VERSION_STORE_FILEGROUP=547, IMMEDIATE=548, NO_WAIT=549, TARGET_RECOVERY_TIME=550,
122 SECONDS=551, HONOR_BROKER_PRIORITY=552, ERROR_BROKER_CONVERSATIONS=553,
123 NEW_BROKER=554, DISABLE_BROKER=555, ENABLE_BROKER=556, MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT=557,
124 READ_COMMITTED_SNAPSHOT=558, ALLOW_SNAPSHOT_ISOLATION=559, RECURSIVE_TRIGGERS=560,
125 QUOTED_IDENTIFIER=561, NUMERIC_ROUNDABORT=562, CONCAT_NULL_YIELDS_NULL=563,
126 COMPATIBILITY_LEVEL=564, ARITHABORT=565, ANSI_WARNINGS=566, ANSI_PADDING=567,
127 ANSI_NULLS=568, ANSI_NULL_DEFAULT=569, PAGE_VERIFY=570, CHECKSUM=571,
128 TORN_PAGE_DETECTION=572, BULK_LOGGED=573, RECOVERY=574, TOTAL_EXECUTION_CPU_TIME_MS=575,
129 TOTAL_COMPILE_CPU_TIME_MS=576, STALE_CAPTURE_POLICY_THRESHOLD=577, EXECUTION_COUNT=578,
130 QUERY_CAPTURE_POLICY=579, WAIT_STATS_CAPTURE_MODE=580, MAX_PLANS_PER_QUERY=581,
131 QUERY_CAPTURE_MODE=582, SIZE_BASED_CLEANUP_MODE=583, INTERVAL_LENGTH_MINUTES=584,
132 MAX_STORAGE_SIZE_MB=585, DATA_FLUSH_INTERVAL_SECONDS=586, CLEANUP_POLICY=587,
133 CUSTOM=588, STALE_QUERY_THRESHOLD_DAYS=589, OPERATION_MODE=590, QUERY_STORE=591,
134 CURSOR_DEFAULT=592, GLOBAL=593, CURSOR_CLOSE_ON_COMMIT=594, HOURS=595,
135 CHANGE_RETENTION=596, AUTO_CLEANUP=597, CHANGE_TRACKING=598, AUTOMATIC_TUNING=599,
136 FORCE_LAST_GOOD_PLAN=600, AUTO_UPDATE_STATISTICS_ASYNC=601, AUTO_UPDATE_STATISTICS=602,
137 AUTO_SHRINK=603, AUTO_CREATE_STATISTICS=604, INCREMENTAL=605, AUTO_CLOSE=606,
138 DATA_RETENTION=607, TEMPORAL_HISTORY_RETENTION=608, EDITION=609, MIXED_PAGE_ALLOCATION=610,
139 DISABLED=611, ALLOWED=612, HADR=613, MULTI_USER=614, RESTRICTED_USER=615,
140 SINGLE_USER=616, OFFLINE=617, EMERGENCY=618, SUSPEND=619, DATE_CORRELATION_OPTIMIZATION=620,
141 ELASTIC_POOL=621, SERVICE_OBJECTIVE=622, DATABASE_NAME=623, ALLOW_CONNECTIONS=624,
142 GEO=625, NAMED=626, DATEFIRST=627, BACKUP_STORAGE_REDUNDANCY=628, FORCE_FAILOVER_ALLOW_DATA_LOSS=629,
143 SECONDARY=630, FAILOVER=631, DEFAULT_FULLTEXT_LANGUAGE=632, DEFAULT_LANGUAGE=633,
144 INLINE=634, NESTED_TRIGGERS=635, TRANSFORM_NOISE_WORDS=636, TWO_DIGIT_YEAR_CUTOFF=637,
145 PERSISTENT_LOG_BUFFER=638, DIRECTORY_NAME=639, DATEFORMAT=640, DELAYED_DURABILITY=641,
146 AUTHORIZATION=642, TRANSFER=643, EXPLAIN=644, WITH_RECOMMENDATIONS=645,
147 BATCH_SIZE=646, SETUSER=647, NORESET=648, DEFAULT_SCHEMA=649, ALLOW_ENCRYPTED_VALUE_MODIFICATIONS=650,
148 OLD_PASSWORD=651, PROVIDER=652, SID=653, UNCOMMITTED=654, COMMITTED=655,
149 STOPLIST=656, SEARCH=657, PROPERTY=658, LIST=659, SEND=660, MEMBER=661,
150 HASHED=662, MUST_CHANGE=663, DEFAULT_DATABASE=664, CHECK_EXPIRATION=665,
151 CHECK_POLICY=666, WINDOWS=667, UNLOCK=668, REVERT=669, COOKIE=670, BROWSE=671,
152 RAW=672, XMLDATA=673, XMLSCHEMA=674, ELEMENTS=675, XSINIL=676, ABSENT=677,
153 EXPLICIT=678, PATH=679, BASE64=680, ROOT=681, JSON=682, INCLUDE_NULL_VALUES=683,
154 WITHOUT_ARRAY_WRAPPER=684, XMLNAMESPACES=685, STATISTICS=686, FULLSCAN=687,
155 SAMPLE=688, RESAMPLE=689, NORECOMPUTE=690, AUTO_DROP=691, PERSIST_SAMPLE_PERCENT=692,
156 IDENTIFIER_=693, DELIMITED_IDENTIFIER_=694, STRING_=695, NUMBER_=696,
157 INT_NUM_=697, FLOAT_NUM_=698, DECIMAL_NUM_=699, HEX_DIGIT_=700, BIT_NUM_=701,
158 NCHAR_TEXT=702;
159 public static final int
160 RULE_execute = 0, RULE_setTransaction = 1, RULE_isolationLevel = 2, RULE_setImplicitTransactions = 3,
161 RULE_implicitTransactionsValue = 4, RULE_beginTransaction = 5, RULE_beginDistributedTransaction = 6,
162 RULE_commit = 7, RULE_commitWork = 8, RULE_rollback = 9, RULE_rollbackWork = 10,
163 RULE_savepoint = 11, RULE_parameterMarker = 12, RULE_literals = 13, RULE_stringLiterals = 14,
164 RULE_numberLiterals = 15, RULE_dateTimeLiterals = 16, RULE_hexadecimalLiterals = 17,
165 RULE_bitValueLiterals = 18, RULE_booleanLiterals = 19, RULE_nullValueLiterals = 20,
166 RULE_identifier = 21, RULE_regularIdentifier = 22, RULE_delimitedIdentifier = 23,
167 RULE_unreservedWord = 24, RULE_databaseName = 25, RULE_schemaName = 26,
168 RULE_functionName = 27, RULE_procedureName = 28, RULE_viewName = 29, RULE_triggerName = 30,
169 RULE_sequenceName = 31, RULE_tableName = 32, RULE_queueName = 33, RULE_contractName = 34,
170 RULE_serviceName = 35, RULE_columnName = 36, RULE_scriptVariableName = 37,
171 RULE_owner = 38, RULE_name = 39, RULE_columnNames = 40, RULE_columnNamesWithSort = 41,
172 RULE_tableNames = 42, RULE_indexName = 43, RULE_constraintName = 44, RULE_collationName = 45,
173 RULE_alias = 46, RULE_dataTypeLength = 47, RULE_primaryKey = 48, RULE_expr = 49,
174 RULE_andOperator = 50, RULE_orOperator = 51, RULE_notOperator = 52, RULE_booleanPrimary = 53,
175 RULE_comparisonOperator = 54, RULE_predicate = 55, RULE_bitExpr = 56,
176 RULE_simpleExpr = 57, RULE_functionCall = 58, RULE_aggregationFunction = 59,
177 RULE_aggregationFunctionName = 60, RULE_distinct = 61, RULE_specialFunction = 62,
178 RULE_castFunction = 63, RULE_convertFunction = 64, RULE_charFunction = 65,
179 RULE_regularFunction = 66, RULE_regularFunctionName = 67, RULE_caseExpression = 68,
180 RULE_caseWhen = 69, RULE_caseElse = 70, RULE_privateExprOfDb = 71, RULE_orderByClause = 72,
181 RULE_orderByItem = 73, RULE_dataType = 74, RULE_dataTypeName = 75, RULE_atTimeZoneExpr = 76,
182 RULE_castExpr = 77, RULE_convertExpr = 78, RULE_windowedFunction = 79,
183 RULE_overClause = 80, RULE_partitionByClause = 81, RULE_rowRangeClause = 82,
184 RULE_windowFrameExtent = 83, RULE_windowFrameBetween = 84, RULE_windowFrameBound = 85,
185 RULE_windowFramePreceding = 86, RULE_windowFrameFollowing = 87, RULE_columnNameWithSort = 88,
186 RULE_indexOption = 89, RULE_compressionOption = 90, RULE_eqTime = 91,
187 RULE_eqOnOffOption = 92, RULE_eqKey = 93, RULE_eqOnOff = 94, RULE_onPartitionClause = 95,
188 RULE_partitionExpressions = 96, RULE_partitionExpression = 97, RULE_numberRange = 98,
189 RULE_lowPriorityLockWait = 99, RULE_onLowPriorLockWait = 100, RULE_ignoredIdentifier = 101,
190 RULE_ignoredIdentifiers = 102, RULE_matchNone = 103, RULE_variableName = 104,
191 RULE_executeAsClause = 105, RULE_transactionName = 106, RULE_transactionVariableName = 107,
192 RULE_savepointName = 108, RULE_savepointVariableName = 109, RULE_entityType = 110,
193 RULE_ifExists = 111, RULE_call = 112, RULE_explain = 113, RULE_explainableStatement = 114,
194 RULE_createTable = 115, RULE_createTableClause = 116, RULE_createIndex = 117,
195 RULE_createDatabase = 118, RULE_createFunction = 119, RULE_createProcedure = 120,
196 RULE_createView = 121, RULE_createTrigger = 122, RULE_createSequence = 123,
197 RULE_createService = 124, RULE_createSchema = 125, RULE_alterTable = 126,
198 RULE_alterIndex = 127, RULE_alterDatabase = 128, RULE_alterProcedure = 129,
199 RULE_alterFunction = 130, RULE_alterView = 131, RULE_alterTrigger = 132,
200 RULE_alterSequence = 133, RULE_alterService = 134, RULE_alterSchema = 135,
201 RULE_dropTable = 136, RULE_dropIndex = 137, RULE_dropDatabase = 138, RULE_dropFunction = 139,
202 RULE_dropProcedure = 140, RULE_dropView = 141, RULE_dropTrigger = 142,
203 RULE_dropSequence = 143, RULE_dropService = 144, RULE_dropSchema = 145,
204 RULE_truncateTable = 146, RULE_updateStatistics = 147, RULE_statisticsWithClause = 148,
205 RULE_sampleOption = 149, RULE_statisticsOptions = 150, RULE_statisticsOption = 151,
206 RULE_fileTableClause = 152, RULE_createDefinitionClause = 153, RULE_createTableDefinitions = 154,
207 RULE_createTableDefinition = 155, RULE_columnDefinition = 156, RULE_columnDefinitionOption = 157,
208 RULE_encryptedOptions = 158, RULE_columnConstraint = 159, RULE_computedColumnConstraint = 160,
209 RULE_computedColumnForeignKeyConstraint = 161, RULE_computedColumnForeignKeyOnAction = 162,
210 RULE_primaryKeyConstraint = 163, RULE_diskTablePrimaryKeyConstraintOption = 164,
211 RULE_clusterOption = 165, RULE_primaryKeyWithClause = 166, RULE_primaryKeyOnClause = 167,
212 RULE_onSchemaColumn = 168, RULE_onFileGroup = 169, RULE_onString = 170,
213 RULE_memoryTablePrimaryKeyConstraintOption = 171, RULE_withBucket = 172,
214 RULE_columnForeignKeyConstraint = 173, RULE_foreignKeyOnAction = 174,
215 RULE_foreignKeyOn = 175, RULE_checkConstraint = 176, RULE_columnIndex = 177,
216 RULE_withIndexOption = 178, RULE_indexOnClause = 179, RULE_onDefault = 180,
217 RULE_fileStreamOn = 181, RULE_columnConstraints = 182, RULE_computedColumnDefinition = 183,
218 RULE_columnSetDefinition = 184, RULE_tableConstraint = 185, RULE_tablePrimaryConstraint = 186,
219 RULE_primaryKeyUnique = 187, RULE_diskTablePrimaryConstraintOption = 188,
220 RULE_memoryTablePrimaryConstraintOption = 189, RULE_hashWithBucket = 190,
221 RULE_tableForeignKeyConstraint = 191, RULE_tableIndex = 192, RULE_indexNameOption = 193,
222 RULE_indexOptions = 194, RULE_periodClause = 195, RULE_partitionScheme = 196,
223 RULE_fileGroup = 197, RULE_tableOptions = 198, RULE_tableOption = 199,
224 RULE_dataDelectionOption = 200, RULE_tableStretchOptions = 201, RULE_tableStretchOption = 202,
225 RULE_migrationState_ = 203, RULE_tableOperationOption = 204, RULE_distributionOption = 205,
226 RULE_dataWareHouseTableOption = 206, RULE_dataWareHousePartitionOption = 207,
227 RULE_createIndexSpecification = 208, RULE_alterDefinitionClause = 209,
228 RULE_addColumnSpecification = 210, RULE_modifyColumnSpecification = 211,
229 RULE_alterColumnOperation = 212, RULE_alterColumnAddOptions = 213, RULE_alterColumnAddOption = 214,
230 RULE_constraintForColumn = 215, RULE_generatedColumnNamesClause = 216,
231 RULE_generatedColumnNameClause = 217, RULE_generatedColumnName = 218,
232 RULE_alterDrop = 219, RULE_alterTableDropConstraint = 220, RULE_dropConstraintName = 221,
233 RULE_dropConstraintWithClause = 222, RULE_dropConstraintOption = 223,
234 RULE_onOffOption = 224, RULE_dropColumnSpecification = 225, RULE_dropIndexSpecification = 226,
235 RULE_alterCheckConstraint = 227, RULE_alterTableTrigger = 228, RULE_alterSwitch = 229,
236 RULE_alterSet = 230, RULE_setFileStreamClause = 231, RULE_setSystemVersionClause = 232,
237 RULE_alterSetOnClause = 233, RULE_dataConsistencyCheckClause = 234, RULE_historyRetentionPeriodClause = 235,
238 RULE_historyRetentionPeriod = 236, RULE_alterTableTableIndex = 237, RULE_indexWithName = 238,
239 RULE_indexNonClusterClause = 239, RULE_alterTableIndexOnClause = 240,
240 RULE_indexClusterClause = 241, RULE_alterTableOption = 242, RULE_onHistoryTableClause = 243,
241 RULE_createDatabaseClause = 244, RULE_fileDefinitionClause = 245, RULE_databaseOption = 246,
242 RULE_fileStreamOption = 247, RULE_fileSpec = 248, RULE_databaseFileSpecOption = 249,
243 RULE_databaseFileGroup = 250, RULE_databaseFileGroupContains = 251, RULE_databaseLogOns = 252,
244 RULE_declareVariable = 253, RULE_variable = 254, RULE_tableVariable = 255,
245 RULE_variTableTypeDefinition = 256, RULE_tableVariableClause = 257, RULE_variableTableColumnDefinition = 258,
246 RULE_variableTableColumnConstraint = 259, RULE_variableTableConstraint = 260,
247 RULE_setVariable = 261, RULE_setVariableClause = 262, RULE_cursorVariable = 263,
248 RULE_cursorClause = 264, RULE_compoundOperation = 265, RULE_funcParameters = 266,
249 RULE_funcReturns = 267, RULE_funcMutiReturn = 268, RULE_funcInlineReturn = 269,
250 RULE_funcScalarReturn = 270, RULE_tableTypeDefinition = 271, RULE_compoundStatement = 272,
251 RULE_functionOption = 273, RULE_validStatement = 274, RULE_procParameters = 275,
252 RULE_procParameter = 276, RULE_createOrAlterProcClause = 277, RULE_withCreateProcOption = 278,
253 RULE_procOption = 279, RULE_procAsClause = 280, RULE_procSetOption = 281,
254 RULE_createOrAlterViewClause = 282, RULE_viewAttribute = 283, RULE_withCommonTableExpr = 284,
255 RULE_commonTableExpr = 285, RULE_createTriggerClause = 286, RULE_dmlTriggerOption = 287,
256 RULE_methodSpecifier = 288, RULE_triggerTarget = 289, RULE_createOrAlterSequenceClause = 290,
257 RULE_createIndexClause = 291, RULE_filterPredicate = 292, RULE_conjunct = 293,
258 RULE_alterIndexClause = 294, RULE_relationalIndexOption = 295, RULE_partitionNumberRange = 296,
259 RULE_reorganizeOption = 297, RULE_setIndexOption = 298, RULE_resumableIndexOptions = 299,
260 RULE_alterDatabaseClause = 300, RULE_addSecondaryOption = 301, RULE_editionOptions = 302,
261 RULE_serviceObjective = 303, RULE_alterDatabaseOptionSpec = 304, RULE_fileAndFilegroupOptions = 305,
262 RULE_addOrModifyFilegroups = 306, RULE_filegroupUpdatabilityOption = 307,
263 RULE_addOrModifyFiles = 308, RULE_acceleratedDatabaseRecovery = 309, RULE_autoOption = 310,
264 RULE_automaticTuningOption = 311, RULE_changeTrackingOption = 312, RULE_changeTrackingOptionList = 313,
265 RULE_cursorOption = 314, RULE_externalAccessOption = 315, RULE_queryStoreOptions = 316,
266 RULE_queryStoreOptionList = 317, RULE_queryCapturePolicyOptionList = 318,
267 RULE_recoveryOption = 319, RULE_sqlOption = 320, RULE_snapshotOption = 321,
268 RULE_serviceBrokerOption = 322, RULE_targetRecoveryTimeOption = 323, RULE_termination = 324,
269 RULE_createServiceClause = 325, RULE_alterServiceClause = 326, RULE_alterServiceOptArg = 327,
270 RULE_schemaNameClause = 328, RULE_schemaElement = 329, RULE_createTableAsSelectClause = 330,
271 RULE_createTableAsSelect = 331, RULE_createRemoteTableAsSelect = 332,
272 RULE_withDistributionOption = 333, RULE_optionQueryHintClause = 334, RULE_insert = 335,
273 RULE_insertDefaultValue = 336, RULE_insertValuesClause = 337, RULE_insertSelectClause = 338,
274 RULE_insertExecClause = 339, RULE_exec = 340, RULE_update = 341, RULE_assignment = 342,
275 RULE_setAssignmentsClause = 343, RULE_assignmentValues = 344, RULE_assignmentValue = 345,
276 RULE_delete = 346, RULE_singleTableClause = 347, RULE_multipleTablesClause = 348,
277 RULE_multipleTableNames = 349, RULE_select = 350, RULE_aggregationClause = 351,
278 RULE_selectClause = 352, RULE_duplicateSpecification = 353, RULE_projections = 354,
279 RULE_projection = 355, RULE_top = 356, RULE_topNum = 357, RULE_unqualifiedShorthand = 358,
280 RULE_qualifiedShorthand = 359, RULE_fromClause = 360, RULE_tableReferences = 361,
281 RULE_tableReference = 362, RULE_tableFactor = 363, RULE_joinedTable = 364,
282 RULE_joinSpecification = 365, RULE_whereClause = 366, RULE_groupByClause = 367,
283 RULE_havingClause = 368, RULE_subquery = 369, RULE_withClause = 370, RULE_cteClauseSet = 371,
284 RULE_cteClause = 372, RULE_outputClause = 373, RULE_outputWithColumns = 374,
285 RULE_outputWithColumn = 375, RULE_outputWithAaterisk = 376, RULE_outputTableName = 377,
286 RULE_queryHint = 378, RULE_useHitName = 379, RULE_forClause = 380, RULE_forXmlClause = 381,
287 RULE_commonDirectivesForXml = 382, RULE_forJsonClause = 383, RULE_selectWithClause = 384,
288 RULE_xmlNamespacesClause = 385, RULE_xmlNamespaceDeclarationItem = 386,
289 RULE_xmlNamespaceUri = 387, RULE_xmlNamespacePrefix = 388, RULE_xmlDefaultNamespaceDeclarationItem = 389,
290 RULE_grant = 390, RULE_grantClassPrivilegesClause = 391, RULE_grantClassTypePrivilegesClause = 392,
291 RULE_classPrivileges = 393, RULE_onClassClause = 394, RULE_classTypePrivileges = 395,
292 RULE_onClassTypeClause = 396, RULE_securable = 397, RULE_principal = 398,
293 RULE_revoke = 399, RULE_revokeClassPrivilegesClause = 400, RULE_revokeClassTypePrivilegesClause = 401,
294 RULE_deny = 402, RULE_denyClassPrivilegesClause = 403, RULE_denyClassTypePrivilegesClause = 404,
295 RULE_optionForClause = 405, RULE_privilegeType = 406, RULE_objectPermission = 407,
296 RULE_serverPermission = 408, RULE_serverPrincipalPermission = 409, RULE_databasePermission = 410,
297 RULE_databasePrincipalPermission = 411, RULE_databaseUserPermission = 412,
298 RULE_databaseRolePermission = 413, RULE_applicationRolePermission = 414,
299 RULE_databaseScopedCredentialPermission = 415, RULE_schemaPermission = 416,
300 RULE_searchPropertyListPermission = 417, RULE_serviceBrokerPermission = 418,
301 RULE_serviceBrokerContractsPermission = 419, RULE_serviceBrokerMessageTypesPermission = 420,
302 RULE_serviceBrokerRemoteServiceBindingsPermission = 421, RULE_serviceBrokerRoutesPermission = 422,
303 RULE_serviceBrokerServicesPermission = 423, RULE_endpointPermission = 424,
304 RULE_certificatePermission = 425, RULE_symmetricKeyPermission = 426, RULE_asymmetricKeyPermission = 427,
305 RULE_assemblyPermission = 428, RULE_availabilityGroupPermission = 429,
306 RULE_fullTextPermission = 430, RULE_fullTextCatalogPermission = 431, RULE_fullTextStoplistPermission = 432,
307 RULE_typePermission = 433, RULE_xmlSchemaCollectionPermission = 434, RULE_systemObjectPermission = 435,
308 RULE_class_ = 436, RULE_classItem = 437, RULE_classType = 438, RULE_roleClause = 439,
309 RULE_setUser = 440, RULE_createUser = 441, RULE_createUserLoginClause = 442,
310 RULE_createUserWindowsPrincipalClause = 443, RULE_createUserLoginWindowsPrincipalClause = 444,
311 RULE_createUserWithoutLoginClause = 445, RULE_optionsList = 446, RULE_limitedOptionsList = 447,
312 RULE_createUserFromExternalProviderClause = 448, RULE_createUserWithDefaultSchema = 449,
313 RULE_createUserWithAzureActiveDirectoryPrincipalClause = 450, RULE_windowsPrincipal = 451,
314 RULE_azureActiveDirectoryPrincipal = 452, RULE_userName = 453, RULE_ignoredNameIdentifier = 454,
315 RULE_dropUser = 455, RULE_alterUser = 456, RULE_setItem = 457, RULE_createRole = 458,
316 RULE_dropRole = 459, RULE_alterRole = 460, RULE_createLogin = 461, RULE_createLoginForSQLServerClause = 462,
317 RULE_createLoginForSQLServerOptionList = 463, RULE_createLoginForSQLServerOptionListClause = 464,
318 RULE_hashedPassword = 465, RULE_sid = 466, RULE_sources = 467, RULE_windowsOptions = 468,
319 RULE_createLoginForAzureSQLDatabaseClause = 469, RULE_createLoginForAzureSQLDatabaseOptionList = 470,
320 RULE_createLoginForAzureManagedInstanceClause = 471, RULE_azureManagedInstanceOptionList = 472,
321 RULE_createLoginForAzureSynapseAnalyticsClause = 473, RULE_createLoginForAzureSynapseAnalyticsOptionList = 474,
322 RULE_createLoginForAnalyticsPlatformSystemClause = 475, RULE_createLoginForAnalyticsPlatformSystemOptionList = 476,
323 RULE_createLoginForAnalyticsPlatformSystemOptionListClause = 477, RULE_dropLogin = 478,
324 RULE_alterLogin = 479, RULE_statusOptionClause = 480, RULE_setOptionClause = 481,
325 RULE_passwordOptionClause = 482, RULE_cryptographicCredentialsOptionClause = 483,
326 RULE_revert = 484;
327 private static String[] makeRuleNames() {
328 return new String[] {
329 "execute", "setTransaction", "isolationLevel", "setImplicitTransactions",
330 "implicitTransactionsValue", "beginTransaction", "beginDistributedTransaction",
331 "commit", "commitWork", "rollback", "rollbackWork", "savepoint", "parameterMarker",
332 "literals", "stringLiterals", "numberLiterals", "dateTimeLiterals", "hexadecimalLiterals",
333 "bitValueLiterals", "booleanLiterals", "nullValueLiterals", "identifier",
334 "regularIdentifier", "delimitedIdentifier", "unreservedWord", "databaseName",
335 "schemaName", "functionName", "procedureName", "viewName", "triggerName",
336 "sequenceName", "tableName", "queueName", "contractName", "serviceName",
337 "columnName", "scriptVariableName", "owner", "name", "columnNames", "columnNamesWithSort",
338 "tableNames", "indexName", "constraintName", "collationName", "alias",
339 "dataTypeLength", "primaryKey", "expr", "andOperator", "orOperator",
340 "notOperator", "booleanPrimary", "comparisonOperator", "predicate", "bitExpr",
341 "simpleExpr", "functionCall", "aggregationFunction", "aggregationFunctionName",
342 "distinct", "specialFunction", "castFunction", "convertFunction", "charFunction",
343 "regularFunction", "regularFunctionName", "caseExpression", "caseWhen",
344 "caseElse", "privateExprOfDb", "orderByClause", "orderByItem", "dataType",
345 "dataTypeName", "atTimeZoneExpr", "castExpr", "convertExpr", "windowedFunction",
346 "overClause", "partitionByClause", "rowRangeClause", "windowFrameExtent",
347 "windowFrameBetween", "windowFrameBound", "windowFramePreceding", "windowFrameFollowing",
348 "columnNameWithSort", "indexOption", "compressionOption", "eqTime", "eqOnOffOption",
349 "eqKey", "eqOnOff", "onPartitionClause", "partitionExpressions", "partitionExpression",
350 "numberRange", "lowPriorityLockWait", "onLowPriorLockWait", "ignoredIdentifier",
351 "ignoredIdentifiers", "matchNone", "variableName", "executeAsClause",
352 "transactionName", "transactionVariableName", "savepointName", "savepointVariableName",
353 "entityType", "ifExists", "call", "explain", "explainableStatement",
354 "createTable", "createTableClause", "createIndex", "createDatabase",
355 "createFunction", "createProcedure", "createView", "createTrigger", "createSequence",
356 "createService", "createSchema", "alterTable", "alterIndex", "alterDatabase",
357 "alterProcedure", "alterFunction", "alterView", "alterTrigger", "alterSequence",
358 "alterService", "alterSchema", "dropTable", "dropIndex", "dropDatabase",
359 "dropFunction", "dropProcedure", "dropView", "dropTrigger", "dropSequence",
360 "dropService", "dropSchema", "truncateTable", "updateStatistics", "statisticsWithClause",
361 "sampleOption", "statisticsOptions", "statisticsOption", "fileTableClause",
362 "createDefinitionClause", "createTableDefinitions", "createTableDefinition",
363 "columnDefinition", "columnDefinitionOption", "encryptedOptions", "columnConstraint",
364 "computedColumnConstraint", "computedColumnForeignKeyConstraint", "computedColumnForeignKeyOnAction",
365 "primaryKeyConstraint", "diskTablePrimaryKeyConstraintOption", "clusterOption",
366 "primaryKeyWithClause", "primaryKeyOnClause", "onSchemaColumn", "onFileGroup",
367 "onString", "memoryTablePrimaryKeyConstraintOption", "withBucket", "columnForeignKeyConstraint",
368 "foreignKeyOnAction", "foreignKeyOn", "checkConstraint", "columnIndex",
369 "withIndexOption", "indexOnClause", "onDefault", "fileStreamOn", "columnConstraints",
370 "computedColumnDefinition", "columnSetDefinition", "tableConstraint",
371 "tablePrimaryConstraint", "primaryKeyUnique", "diskTablePrimaryConstraintOption",
372 "memoryTablePrimaryConstraintOption", "hashWithBucket", "tableForeignKeyConstraint",
373 "tableIndex", "indexNameOption", "indexOptions", "periodClause", "partitionScheme",
374 "fileGroup", "tableOptions", "tableOption", "dataDelectionOption", "tableStretchOptions",
375 "tableStretchOption", "migrationState_", "tableOperationOption", "distributionOption",
376 "dataWareHouseTableOption", "dataWareHousePartitionOption", "createIndexSpecification",
377 "alterDefinitionClause", "addColumnSpecification", "modifyColumnSpecification",
378 "alterColumnOperation", "alterColumnAddOptions", "alterColumnAddOption",
379 "constraintForColumn", "generatedColumnNamesClause", "generatedColumnNameClause",
380 "generatedColumnName", "alterDrop", "alterTableDropConstraint", "dropConstraintName",
381 "dropConstraintWithClause", "dropConstraintOption", "onOffOption", "dropColumnSpecification",
382 "dropIndexSpecification", "alterCheckConstraint", "alterTableTrigger",
383 "alterSwitch", "alterSet", "setFileStreamClause", "setSystemVersionClause",
384 "alterSetOnClause", "dataConsistencyCheckClause", "historyRetentionPeriodClause",
385 "historyRetentionPeriod", "alterTableTableIndex", "indexWithName", "indexNonClusterClause",
386 "alterTableIndexOnClause", "indexClusterClause", "alterTableOption",
387 "onHistoryTableClause", "createDatabaseClause", "fileDefinitionClause",
388 "databaseOption", "fileStreamOption", "fileSpec", "databaseFileSpecOption",
389 "databaseFileGroup", "databaseFileGroupContains", "databaseLogOns", "declareVariable",
390 "variable", "tableVariable", "variTableTypeDefinition", "tableVariableClause",
391 "variableTableColumnDefinition", "variableTableColumnConstraint", "variableTableConstraint",
392 "setVariable", "setVariableClause", "cursorVariable", "cursorClause",
393 "compoundOperation", "funcParameters", "funcReturns", "funcMutiReturn",
394 "funcInlineReturn", "funcScalarReturn", "tableTypeDefinition", "compoundStatement",
395 "functionOption", "validStatement", "procParameters", "procParameter",
396 "createOrAlterProcClause", "withCreateProcOption", "procOption", "procAsClause",
397 "procSetOption", "createOrAlterViewClause", "viewAttribute", "withCommonTableExpr",
398 "commonTableExpr", "createTriggerClause", "dmlTriggerOption", "methodSpecifier",
399 "triggerTarget", "createOrAlterSequenceClause", "createIndexClause",
400 "filterPredicate", "conjunct", "alterIndexClause", "relationalIndexOption",
401 "partitionNumberRange", "reorganizeOption", "setIndexOption", "resumableIndexOptions",
402 "alterDatabaseClause", "addSecondaryOption", "editionOptions", "serviceObjective",
403 "alterDatabaseOptionSpec", "fileAndFilegroupOptions", "addOrModifyFilegroups",
404 "filegroupUpdatabilityOption", "addOrModifyFiles", "acceleratedDatabaseRecovery",
405 "autoOption", "automaticTuningOption", "changeTrackingOption", "changeTrackingOptionList",
406 "cursorOption", "externalAccessOption", "queryStoreOptions", "queryStoreOptionList",
407 "queryCapturePolicyOptionList", "recoveryOption", "sqlOption", "snapshotOption",
408 "serviceBrokerOption", "targetRecoveryTimeOption", "termination", "createServiceClause",
409 "alterServiceClause", "alterServiceOptArg", "schemaNameClause", "schemaElement",
410 "createTableAsSelectClause", "createTableAsSelect", "createRemoteTableAsSelect",
411 "withDistributionOption", "optionQueryHintClause", "insert", "insertDefaultValue",
412 "insertValuesClause", "insertSelectClause", "insertExecClause", "exec",
413 "update", "assignment", "setAssignmentsClause", "assignmentValues", "assignmentValue",
414 "delete", "singleTableClause", "multipleTablesClause", "multipleTableNames",
415 "select", "aggregationClause", "selectClause", "duplicateSpecification",
416 "projections", "projection", "top", "topNum", "unqualifiedShorthand",
417 "qualifiedShorthand", "fromClause", "tableReferences", "tableReference",
418 "tableFactor", "joinedTable", "joinSpecification", "whereClause", "groupByClause",
419 "havingClause", "subquery", "withClause", "cteClauseSet", "cteClause",
420 "outputClause", "outputWithColumns", "outputWithColumn", "outputWithAaterisk",
421 "outputTableName", "queryHint", "useHitName", "forClause", "forXmlClause",
422 "commonDirectivesForXml", "forJsonClause", "selectWithClause", "xmlNamespacesClause",
423 "xmlNamespaceDeclarationItem", "xmlNamespaceUri", "xmlNamespacePrefix",
424 "xmlDefaultNamespaceDeclarationItem", "grant", "grantClassPrivilegesClause",
425 "grantClassTypePrivilegesClause", "classPrivileges", "onClassClause",
426 "classTypePrivileges", "onClassTypeClause", "securable", "principal",
427 "revoke", "revokeClassPrivilegesClause", "revokeClassTypePrivilegesClause",
428 "deny", "denyClassPrivilegesClause", "denyClassTypePrivilegesClause",
429 "optionForClause", "privilegeType", "objectPermission", "serverPermission",
430 "serverPrincipalPermission", "databasePermission", "databasePrincipalPermission",
431 "databaseUserPermission", "databaseRolePermission", "applicationRolePermission",
432 "databaseScopedCredentialPermission", "schemaPermission", "searchPropertyListPermission",
433 "serviceBrokerPermission", "serviceBrokerContractsPermission", "serviceBrokerMessageTypesPermission",
434 "serviceBrokerRemoteServiceBindingsPermission", "serviceBrokerRoutesPermission",
435 "serviceBrokerServicesPermission", "endpointPermission", "certificatePermission",
436 "symmetricKeyPermission", "asymmetricKeyPermission", "assemblyPermission",
437 "availabilityGroupPermission", "fullTextPermission", "fullTextCatalogPermission",
438 "fullTextStoplistPermission", "typePermission", "xmlSchemaCollectionPermission",
439 "systemObjectPermission", "class_", "classItem", "classType", "roleClause",
440 "setUser", "createUser", "createUserLoginClause", "createUserWindowsPrincipalClause",
441 "createUserLoginWindowsPrincipalClause", "createUserWithoutLoginClause",
442 "optionsList", "limitedOptionsList", "createUserFromExternalProviderClause",
443 "createUserWithDefaultSchema", "createUserWithAzureActiveDirectoryPrincipalClause",
444 "windowsPrincipal", "azureActiveDirectoryPrincipal", "userName", "ignoredNameIdentifier",
445 "dropUser", "alterUser", "setItem", "createRole", "dropRole", "alterRole",
446 "createLogin", "createLoginForSQLServerClause", "createLoginForSQLServerOptionList",
447 "createLoginForSQLServerOptionListClause", "hashedPassword", "sid", "sources",
448 "windowsOptions", "createLoginForAzureSQLDatabaseClause", "createLoginForAzureSQLDatabaseOptionList",
449 "createLoginForAzureManagedInstanceClause", "azureManagedInstanceOptionList",
450 "createLoginForAzureSynapseAnalyticsClause", "createLoginForAzureSynapseAnalyticsOptionList",
451 "createLoginForAnalyticsPlatformSystemClause", "createLoginForAnalyticsPlatformSystemOptionList",
452 "createLoginForAnalyticsPlatformSystemOptionListClause", "dropLogin",
453 "alterLogin", "statusOptionClause", "setOptionClause", "passwordOptionClause",
454 "cryptographicCredentialsOptionClause", "revert"
455 };
456 }
457 public static final String[] ruleNames = makeRuleNames();
458
459 private static String[] makeLiteralNames() {
460 return new String[] {
461 null, "'Default does not match anything'", null, null, "'&&'", "'||'",
462 "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", "'%'", "':'", "'+'",
463 "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", "'=='", "'='", null,
464 "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", "'}'", "'['",
465 "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", "'$'", null,
466 null, null, null, null, null, null, null, null, null, null, null, null,
467 null, null, null, null, null, null, null, null, null, null, null, null,
468 null, null, null, null, null, null, null, null, null, null, null, null,
469 null, null, null, null, null, null, null, null, null, null, null, null,
470 null, null, null, null, null, null, null, null, null, null, null, null,
471 null, null, null, null, null, null, null, null, null, null, null, null,
472 null, null, null, null, null, null, null, null, null, null, null, null,
473 null, null, null, null, null, null, null, null, null, null, null, null,
474 null, null, null, null, null, null, null, null, null, null, null, null,
475 null, null, null, null, null, null, null, null, null, null, null, null,
476 null, null, null, null, null, null, null, null, null, null, null, null,
477 null, null, null, null, null, null, null, null, null, null, null, null,
478 null, null, null, null, null, null, null, null, null, null, null, null,
479 null, null, null, null, null, null, null, null, null, null, null, null,
480 null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'"
481 };
482 }
483 private static final String[] _LITERAL_NAMES = makeLiteralNames();
484 private static String[] makeSymbolicNames() {
485 return new String[] {
486 null, null, "BLOCK_COMMENT", "INLINE_COMMENT", "AND_", "OR_", "NOT_",
487 "TILDE_", "VERTICAL_BAR_", "AMPERSAND_", "SIGNED_LEFT_SHIFT_", "SIGNED_RIGHT_SHIFT_",
488 "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", "SLASH_",
489 "BACKSLASH_", "DOT_", "DOT_ASTERISK_", "SAFE_EQ_", "DEQ_", "EQ_", "NEQ_",
490 "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_",
491 "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_",
492 "DOLLAR_", "WS", "SELECT", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER",
493 "DROP", "TRUNCATE", "SCHEMA", "GRANT", "REVOKE", "ADD", "SET", "TABLE",
494 "COLUMN", "COLUMNS", "INDEX", "CONSTRAINT", "PRIMARY", "UNIQUE", "FOREIGN",
495 "KEY", "POSITION", "PRECISION", "FUNCTION", "TRIGGER", "PROCEDURE", "PROC",
496 "VIEW", "INTO", "VALUES", "WITH", "UNION", "DISTINCT", "CASE", "WHEN",
497 "CAST", "TRIM", "SUBSTRING", "FROM", "NATURAL", "JOIN", "FULL", "INNER",
498 "OUTER", "LEFT", "RIGHT", "CROSS", "USING", "WHERE", "AS", "ON", "OFF",
499 "IF", "ELSE", "THEN", "FOR", "TO", "AND", "OR", "IS", "NOT", "NULL",
500 "TRUE", "FALSE", "EXISTS", "BETWEEN", "IN", "ALL", "ANY", "LIKE", "ORDER",
501 "GROUP", "BY", "ASC", "DESC", "HAVING", "LIMIT", "OFFSET", "BEGIN", "COMMIT",
502 "ROLLBACK", "SAVEPOINT", "BOOLEAN", "DOUBLE", "CHAR", "CHARACTER", "ARRAY",
503 "INTERVAL", "DATE", "TIME", "TIMESTAMP", "LOCALTIME", "LOCALTIMESTAMP",
504 "YEAR", "QUARTER", "MONTH", "WEEK", "DAY", "HOUR", "MINUTE", "SECOND",
505 "MICROSECOND", "MAX", "MIN", "SUM", "COUNT", "AVG", "DEFAULT", "CURRENT",
506 "ENABLE", "DISABLE", "CALL", "INSTANCE", "PRESERVE", "DO", "DEFINER",
507 "CURRENT_USER", "SQL", "CASCADED", "LOCAL", "CLOSE", "OPEN", "NEXT",
508 "NAME", "COLLATION", "NAMES", "INTEGER", "REAL", "DECIMAL", "TYPE", "BIT",
509 "SMALLINT", "INT", "TINYINT", "NUMERIC", "FLOAT", "BIGINT", "TEXT", "VARCHAR",
510 "PERCENT", "TIES", "EXCEPT", "INTERSECT", "USE", "MERGE", "LOOP", "EXPAND",
511 "VIEWS", "FAST", "FORCE", "KEEP", "PLAN", "OPTIMIZE", "SIMPLE", "FORCED",
512 "HINT", "READ_ONLY", "DATABASE", "DECLARE", "CURSOR", "OF", "RETURNS",
513 "DATEPART", "RETURN", "READONLY", "AT", "PASSWORD", "WITHOUT", "APPLY",
514 "FOR_GENERATOR", "BINARY", "ESCAPE", "HIDDEN_", "MOD", "PARTITION", "PARTITIONS",
515 "TOP", "ROW", "ROWS", "UNKNOWN", "XOR", "ALWAYS", "CASCADE", "CHECK",
516 "GENERATED", "NO", "OPTION", "PRIVILEGES", "REFERENCES", "USER", "ROLE",
517 "START", "TRANSACTION", "ACTION", "ALGORITHM", "AUTO", "BLOCKERS", "CLUSTERED",
518 "NONCLUSTERED", "COLLATE", "COLUMNSTORE", "CONTENT", "CONVERT", "YEARS",
519 "MONTHS", "WEEKS", "DAYS", "MINUTES", "DENY", "DETERMINISTIC", "DISTRIBUTION",
520 "DOCUMENT", "DURABILITY", "ENCRYPTED", "END", "FILESTREAM", "FILETABLE",
521 "FILLFACTOR", "FOLLOWING", "HASH", "HEAP", "IDENTITY", "INBOUND", "OUTBOUND",
522 "UNBOUNDED", "INFINITE", "LOGIN", "MASKED", "MAXDOP", "MOVE", "NOCHECK",
523 "NONE", "OBJECT", "ONLINE", "OVER", "PAGE", "PAUSED", "PERIOD", "PERSISTED",
524 "PRECEDING", "RANDOMIZED", "RANGE", "REBUILD", "REPLICATE", "REPLICATION",
525 "RESUMABLE", "ROWGUIDCOL", "SAVE", "SELF", "SPARSE", "SWITCH", "TRAN",
526 "TRANCOUNT", "ZONE", "EXECUTE", "EXEC", "SESSION", "CONNECT", "CONNECTION",
527 "CATALOG", "CONTROL", "CONCAT", "TAKE", "OWNERSHIP", "DEFINITION", "APPLICATION",
528 "ASSEMBLY", "SYMMETRIC", "ASYMMETRIC", "SERVER", "RECEIVE", "CHANGE",
529 "TRACE", "TRACKING", "RESOURCES", "SETTINGS", "STATE", "AVAILABILITY",
530 "CREDENTIAL", "ENDPOINT", "EVENT", "NOTIFICATION", "LINKED", "AUDIT",
531 "DDL", "XML", "IMPERSONATE", "SECURABLES", "AUTHENTICATE", "EXTERNAL",
532 "ACCESS", "ADMINISTER", "BULK", "OPERATIONS", "UNSAFE", "SHUTDOWN", "SCOPED",
533 "CONFIGURATION", "DATASPACE", "SERVICE", "CERTIFICATE", "CONTRACT", "ENCRYPTION",
534 "MASTER", "DATA", "SOURCE", "FILE", "FORMAT", "LIBRARY", "FULLTEXT",
535 "MASK", "UNMASK", "MESSAGE", "REMOTE", "BINDING", "ROUTE", "SECURITY",
536 "POLICY", "AGGREGATE", "QUEUE", "RULE", "SYNONYM", "COLLECTION", "SCRIPT",
537 "KILL", "BACKUP", "LOG", "SHOWPLAN", "SUBSCRIBE", "QUERY", "NOTIFICATIONS",
538 "CHECKPOINT", "SEQUENCE", "ABORT_AFTER_WAIT", "ALLOW_PAGE_LOCKS", "ALLOW_ROW_LOCKS",
539 "ALL_SPARSE_COLUMNS", "BUCKET_COUNT", "COLUMNSTORE_ARCHIVE", "COLUMN_ENCRYPTION_KEY",
540 "COLUMN_SET", "COMPRESSION_DELAY", "DATABASE_DEAULT", "DATA_COMPRESSION",
541 "DATA_CONSISTENCY_CHECK", "ENCRYPTION_TYPE", "SYSTEM_TIME", "SYSTEM_VERSIONING",
542 "TEXTIMAGE_ON", "WAIT_AT_LOW_PRIORITY", "STATISTICS_INCREMENTAL", "STATISTICS_NORECOMPUTE",
543 "ROUND_ROBIN", "SCHEMA_AND_DATA", "SCHEMA_ONLY", "SORT_IN_TEMPDB", "IGNORE_DUP_KEY",
544 "IMPLICIT_TRANSACTIONS", "MAX_DURATION", "MEMORY_OPTIMIZED", "MIGRATION_STATE",
545 "PAD_INDEX", "REMOTE_DATA_ARCHIVE", "FILESTREAM_ON", "FILETABLE_COLLATE_FILENAME",
546 "FILETABLE_DIRECTORY", "FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME", "FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME",
547 "FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME", "FILTER_PREDICATE", "HISTORY_RETENTION_PERIOD",
548 "HISTORY_TABLE", "LOCK_ESCALATION", "DROP_EXISTING", "ROW_NUMBER", "FETCH",
549 "FIRST", "ONLY", "MONEY", "SMALLMONEY", "DATETIMEOFFSET", "DATETIME",
550 "DATETIME2", "SMALLDATETIME", "NCHAR", "NVARCHAR", "NTEXT", "VARBINARY",
551 "IMAGE", "SQL_VARIANT", "UNIQUEIDENTIFIER", "HIERARCHYID", "GEOMETRY",
552 "GEOGRAPHY", "OUTPUT", "INSERTED", "DELETED", "ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS",
553 "ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES", "DISABLE_BATCH_MODE_ADAPTIVE_JOINS",
554 "DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK", "DISABLE_DEFERRED_COMPILATION_TV",
555 "DISABLE_INTERLEAVED_EXECUTION_TVF", "DISABLE_OPTIMIZED_NESTED_LOOP",
556 "DISABLE_OPTIMIZER_ROWGOAL", "DISABLE_PARAMETER_SNIFFING", "DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK",
557 "DISABLE_TSQL_SCALAR_UDF_INLINING", "DISALLOW_BATCH_MODE", "ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS",
558 "ENABLE_QUERY_OPTIMIZER_HOTFIXES", "FORCE_DEFAULT_CARDINALITY_ESTIMATION",
559 "FORCE_LEGACY_CARDINALITY_ESTIMATION", "QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n",
560 "QUERY_PLAN_PROFILE", "EXTERNALPUSHDOWN", "SCALEOUTEXECUTION", "IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX",
561 "KEEPFIXED", "MAX_GRANT_PERCENT", "MIN_GRANT_PERCENT", "MAXRECURSION",
562 "NO_PERFORMANCE_SPOOL", "PARAMETERIZATION", "QUERYTRACEON", "RECOMPILE",
563 "ROBUST", "OPTIMIZE_FOR_SEQUENTIAL_KEY", "DATA_DELETION", "FILTER_COLUMN",
564 "RETENTION_PERIOD", "CONTAINMENT", "PARTIAL", "FILENAME", "SIZE", "MAXSIZE",
565 "FILEGROWTH", "UNLIMITED", "KB", "MB", "GB", "TB", "CONTAINS", "MEMORY_OPTIMIZED_DATA",
566 "FILEGROUP", "NON_TRANSACTED_ACCESS", "DB_CHAINING", "TRUSTWORTHY", "FORWARD_ONLY",
567 "SCROLL", "STATIC", "KEYSET", "DYNAMIC", "FAST_FORWARD", "SCROLL_LOCKS",
568 "OPTIMISTIC", "TYPE_WARNING", "SCHEMABINDING", "CALLER", "INPUT", "CALLED",
569 "VARYING", "OUT", "OWNER", "ATOMIC", "LANGUAGE", "LEVEL", "ISOLATION",
570 "SNAPSHOT", "REPEATABLE", "READ", "SERIALIZABLE", "NATIVE_COMPILATION",
571 "VIEW_METADATA", "AFTER", "INSTEAD", "APPEND", "INCREMENT", "CYCLE",
572 "CACHE", "MINVALUE", "MAXVALUE", "RESTART", "LOB_COMPACTION", "COMPRESS_ALL_ROW_GROUPS",
573 "REORGANIZE", "RESUME", "PAUSE", "ABORT", "INCLUDE", "DISTRIBUTED", "MARK",
574 "WORK", "REMOVE", "AUTOGROW_SINGLE_FILE", "AUTOGROW_ALL_FILES", "READWRITE",
575 "READ_WRITE", "MODIFY", "ACCELERATED_DATABASE_RECOVERY", "PERSISTENT_VERSION_STORE_FILEGROUP",
576 "IMMEDIATE", "NO_WAIT", "TARGET_RECOVERY_TIME", "SECONDS", "HONOR_BROKER_PRIORITY",
577 "ERROR_BROKER_CONVERSATIONS", "NEW_BROKER", "DISABLE_BROKER", "ENABLE_BROKER",
578 "MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT", "READ_COMMITTED_SNAPSHOT", "ALLOW_SNAPSHOT_ISOLATION",
579 "RECURSIVE_TRIGGERS", "QUOTED_IDENTIFIER", "NUMERIC_ROUNDABORT", "CONCAT_NULL_YIELDS_NULL",
580 "COMPATIBILITY_LEVEL", "ARITHABORT", "ANSI_WARNINGS", "ANSI_PADDING",
581 "ANSI_NULLS", "ANSI_NULL_DEFAULT", "PAGE_VERIFY", "CHECKSUM", "TORN_PAGE_DETECTION",
582 "BULK_LOGGED", "RECOVERY", "TOTAL_EXECUTION_CPU_TIME_MS", "TOTAL_COMPILE_CPU_TIME_MS",
583 "STALE_CAPTURE_POLICY_THRESHOLD", "EXECUTION_COUNT", "QUERY_CAPTURE_POLICY",
584 "WAIT_STATS_CAPTURE_MODE", "MAX_PLANS_PER_QUERY", "QUERY_CAPTURE_MODE",
585 "SIZE_BASED_CLEANUP_MODE", "INTERVAL_LENGTH_MINUTES", "MAX_STORAGE_SIZE_MB",
586 "DATA_FLUSH_INTERVAL_SECONDS", "CLEANUP_POLICY", "CUSTOM", "STALE_QUERY_THRESHOLD_DAYS",
587 "OPERATION_MODE", "QUERY_STORE", "CURSOR_DEFAULT", "GLOBAL", "CURSOR_CLOSE_ON_COMMIT",
588 "HOURS", "CHANGE_RETENTION", "AUTO_CLEANUP", "CHANGE_TRACKING", "AUTOMATIC_TUNING",
589 "FORCE_LAST_GOOD_PLAN", "AUTO_UPDATE_STATISTICS_ASYNC", "AUTO_UPDATE_STATISTICS",
590 "AUTO_SHRINK", "AUTO_CREATE_STATISTICS", "INCREMENTAL", "AUTO_CLOSE",
591 "DATA_RETENTION", "TEMPORAL_HISTORY_RETENTION", "EDITION", "MIXED_PAGE_ALLOCATION",
592 "DISABLED", "ALLOWED", "HADR", "MULTI_USER", "RESTRICTED_USER", "SINGLE_USER",
593 "OFFLINE", "EMERGENCY", "SUSPEND", "DATE_CORRELATION_OPTIMIZATION", "ELASTIC_POOL",
594 "SERVICE_OBJECTIVE", "DATABASE_NAME", "ALLOW_CONNECTIONS", "GEO", "NAMED",
595 "DATEFIRST", "BACKUP_STORAGE_REDUNDANCY", "FORCE_FAILOVER_ALLOW_DATA_LOSS",
596 "SECONDARY", "FAILOVER", "DEFAULT_FULLTEXT_LANGUAGE", "DEFAULT_LANGUAGE",
597 "INLINE", "NESTED_TRIGGERS", "TRANSFORM_NOISE_WORDS", "TWO_DIGIT_YEAR_CUTOFF",
598 "PERSISTENT_LOG_BUFFER", "DIRECTORY_NAME", "DATEFORMAT", "DELAYED_DURABILITY",
599 "AUTHORIZATION", "TRANSFER", "EXPLAIN", "WITH_RECOMMENDATIONS", "BATCH_SIZE",
600 "SETUSER", "NORESET", "DEFAULT_SCHEMA", "ALLOW_ENCRYPTED_VALUE_MODIFICATIONS",
601 "OLD_PASSWORD", "PROVIDER", "SID", "UNCOMMITTED", "COMMITTED", "STOPLIST",
602 "SEARCH", "PROPERTY", "LIST", "SEND", "MEMBER", "HASHED", "MUST_CHANGE",
603 "DEFAULT_DATABASE", "CHECK_EXPIRATION", "CHECK_POLICY", "WINDOWS", "UNLOCK",
604 "REVERT", "COOKIE", "BROWSE", "RAW", "XMLDATA", "XMLSCHEMA", "ELEMENTS",
605 "XSINIL", "ABSENT", "EXPLICIT", "PATH", "BASE64", "ROOT", "JSON", "INCLUDE_NULL_VALUES",
606 "WITHOUT_ARRAY_WRAPPER", "XMLNAMESPACES", "STATISTICS", "FULLSCAN", "SAMPLE",
607 "RESAMPLE", "NORECOMPUTE", "AUTO_DROP", "PERSIST_SAMPLE_PERCENT", "IDENTIFIER_",
608 "DELIMITED_IDENTIFIER_", "STRING_", "NUMBER_", "INT_NUM_", "FLOAT_NUM_",
609 "DECIMAL_NUM_", "HEX_DIGIT_", "BIT_NUM_", "NCHAR_TEXT"
610 };
611 }
612 private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
613 public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
614
615
616
617
618 @Deprecated
619 public static final String[] tokenNames;
620 static {
621 tokenNames = new String[_SYMBOLIC_NAMES.length];
622 for (int i = 0; i < tokenNames.length; i++) {
623 tokenNames[i] = VOCABULARY.getLiteralName(i);
624 if (tokenNames[i] == null) {
625 tokenNames[i] = VOCABULARY.getSymbolicName(i);
626 }
627
628 if (tokenNames[i] == null) {
629 tokenNames[i] = "<INVALID>";
630 }
631 }
632 }
633
634 @Override
635 @Deprecated
636 public String[] getTokenNames() {
637 return tokenNames;
638 }
639
640 @Override
641
642 public Vocabulary getVocabulary() {
643 return VOCABULARY;
644 }
645
646 @Override
647 public String getGrammarFileName() { return "SQLServerStatement.g4"; }
648
649 @Override
650 public String[] getRuleNames() { return ruleNames; }
651
652 @Override
653 public String getSerializedATN() { return _serializedATN; }
654
655 @Override
656 public ATN getATN() { return _ATN; }
657
658 public SQLServerStatementParser(TokenStream input) {
659 super(input);
660 _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
661 }
662
663 public static class ExecuteContext extends ParserRuleContext {
664 public SelectContext select() {
665 return getRuleContext(SelectContext.class,0);
666 }
667 public InsertContext insert() {
668 return getRuleContext(InsertContext.class,0);
669 }
670 public UpdateContext update() {
671 return getRuleContext(UpdateContext.class,0);
672 }
673 public DeleteContext delete() {
674 return getRuleContext(DeleteContext.class,0);
675 }
676 public CreateIndexContext createIndex() {
677 return getRuleContext(CreateIndexContext.class,0);
678 }
679 public AlterIndexContext alterIndex() {
680 return getRuleContext(AlterIndexContext.class,0);
681 }
682 public DropIndexContext dropIndex() {
683 return getRuleContext(DropIndexContext.class,0);
684 }
685 public CreateTableContext createTable() {
686 return getRuleContext(CreateTableContext.class,0);
687 }
688 public CreateDatabaseContext createDatabase() {
689 return getRuleContext(CreateDatabaseContext.class,0);
690 }
691 public CreateProcedureContext createProcedure() {
692 return getRuleContext(CreateProcedureContext.class,0);
693 }
694 public CreateViewContext createView() {
695 return getRuleContext(CreateViewContext.class,0);
696 }
697 public CreateTriggerContext createTrigger() {
698 return getRuleContext(CreateTriggerContext.class,0);
699 }
700 public CreateSequenceContext createSequence() {
701 return getRuleContext(CreateSequenceContext.class,0);
702 }
703 public CreateServiceContext createService() {
704 return getRuleContext(CreateServiceContext.class,0);
705 }
706 public CreateSchemaContext createSchema() {
707 return getRuleContext(CreateSchemaContext.class,0);
708 }
709 public AlterTableContext alterTable() {
710 return getRuleContext(AlterTableContext.class,0);
711 }
712 public AlterTriggerContext alterTrigger() {
713 return getRuleContext(AlterTriggerContext.class,0);
714 }
715 public AlterSequenceContext alterSequence() {
716 return getRuleContext(AlterSequenceContext.class,0);
717 }
718 public AlterDatabaseContext alterDatabase() {
719 return getRuleContext(AlterDatabaseContext.class,0);
720 }
721 public AlterServiceContext alterService() {
722 return getRuleContext(AlterServiceContext.class,0);
723 }
724 public AlterSchemaContext alterSchema() {
725 return getRuleContext(AlterSchemaContext.class,0);
726 }
727 public AlterViewContext alterView() {
728 return getRuleContext(AlterViewContext.class,0);
729 }
730 public DropTableContext dropTable() {
731 return getRuleContext(DropTableContext.class,0);
732 }
733 public DropDatabaseContext dropDatabase() {
734 return getRuleContext(DropDatabaseContext.class,0);
735 }
736 public DropFunctionContext dropFunction() {
737 return getRuleContext(DropFunctionContext.class,0);
738 }
739 public DropProcedureContext dropProcedure() {
740 return getRuleContext(DropProcedureContext.class,0);
741 }
742 public DropViewContext dropView() {
743 return getRuleContext(DropViewContext.class,0);
744 }
745 public DropTriggerContext dropTrigger() {
746 return getRuleContext(DropTriggerContext.class,0);
747 }
748 public DropSequenceContext dropSequence() {
749 return getRuleContext(DropSequenceContext.class,0);
750 }
751 public DropServiceContext dropService() {
752 return getRuleContext(DropServiceContext.class,0);
753 }
754 public DropSchemaContext dropSchema() {
755 return getRuleContext(DropSchemaContext.class,0);
756 }
757 public TruncateTableContext truncateTable() {
758 return getRuleContext(TruncateTableContext.class,0);
759 }
760 public CreateFunctionContext createFunction() {
761 return getRuleContext(CreateFunctionContext.class,0);
762 }
763 public SetTransactionContext setTransaction() {
764 return getRuleContext(SetTransactionContext.class,0);
765 }
766 public BeginTransactionContext beginTransaction() {
767 return getRuleContext(BeginTransactionContext.class,0);
768 }
769 public BeginDistributedTransactionContext beginDistributedTransaction() {
770 return getRuleContext(BeginDistributedTransactionContext.class,0);
771 }
772 public SetImplicitTransactionsContext setImplicitTransactions() {
773 return getRuleContext(SetImplicitTransactionsContext.class,0);
774 }
775 public CommitContext commit() {
776 return getRuleContext(CommitContext.class,0);
777 }
778 public CommitWorkContext commitWork() {
779 return getRuleContext(CommitWorkContext.class,0);
780 }
781 public RollbackContext rollback() {
782 return getRuleContext(RollbackContext.class,0);
783 }
784 public RollbackWorkContext rollbackWork() {
785 return getRuleContext(RollbackWorkContext.class,0);
786 }
787 public SavepointContext savepoint() {
788 return getRuleContext(SavepointContext.class,0);
789 }
790 public GrantContext grant() {
791 return getRuleContext(GrantContext.class,0);
792 }
793 public RevokeContext revoke() {
794 return getRuleContext(RevokeContext.class,0);
795 }
796 public DenyContext deny() {
797 return getRuleContext(DenyContext.class,0);
798 }
799 public CreateUserContext createUser() {
800 return getRuleContext(CreateUserContext.class,0);
801 }
802 public DropUserContext dropUser() {
803 return getRuleContext(DropUserContext.class,0);
804 }
805 public AlterUserContext alterUser() {
806 return getRuleContext(AlterUserContext.class,0);
807 }
808 public CreateRoleContext createRole() {
809 return getRuleContext(CreateRoleContext.class,0);
810 }
811 public DropRoleContext dropRole() {
812 return getRuleContext(DropRoleContext.class,0);
813 }
814 public AlterRoleContext alterRole() {
815 return getRuleContext(AlterRoleContext.class,0);
816 }
817 public CreateLoginContext createLogin() {
818 return getRuleContext(CreateLoginContext.class,0);
819 }
820 public DropLoginContext dropLogin() {
821 return getRuleContext(DropLoginContext.class,0);
822 }
823 public AlterLoginContext alterLogin() {
824 return getRuleContext(AlterLoginContext.class,0);
825 }
826 public CallContext call() {
827 return getRuleContext(CallContext.class,0);
828 }
829 public ExplainContext explain() {
830 return getRuleContext(ExplainContext.class,0);
831 }
832 public SetUserContext setUser() {
833 return getRuleContext(SetUserContext.class,0);
834 }
835 public RevertContext revert() {
836 return getRuleContext(RevertContext.class,0);
837 }
838 public UpdateStatisticsContext updateStatistics() {
839 return getRuleContext(UpdateStatisticsContext.class,0);
840 }
841 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
842 public ExecuteContext(ParserRuleContext parent, int invokingState) {
843 super(parent, invokingState);
844 }
845 @Override public int getRuleIndex() { return RULE_execute; }
846 @Override
847 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
848 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExecute(this);
849 else return visitor.visitChildren(this);
850 }
851 }
852
853 public final ExecuteContext execute() throws RecognitionException {
854 ExecuteContext _localctx = new ExecuteContext(_ctx, getState());
855 enterRule(_localctx, 0, RULE_execute);
856 int _la;
857 try {
858 enterOuterAlt(_localctx, 1);
859 {
860 setState(1029);
861 _errHandler.sync(this);
862 switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) {
863 case 1:
864 {
865 setState(970);
866 select();
867 }
868 break;
869 case 2:
870 {
871 setState(971);
872 insert();
873 }
874 break;
875 case 3:
876 {
877 setState(972);
878 update();
879 }
880 break;
881 case 4:
882 {
883 setState(973);
884 delete();
885 }
886 break;
887 case 5:
888 {
889 setState(974);
890 createIndex();
891 }
892 break;
893 case 6:
894 {
895 setState(975);
896 alterIndex();
897 }
898 break;
899 case 7:
900 {
901 setState(976);
902 dropIndex();
903 }
904 break;
905 case 8:
906 {
907 setState(977);
908 createTable();
909 }
910 break;
911 case 9:
912 {
913 setState(978);
914 createDatabase();
915 }
916 break;
917 case 10:
918 {
919 setState(979);
920 createProcedure();
921 }
922 break;
923 case 11:
924 {
925 setState(980);
926 createView();
927 }
928 break;
929 case 12:
930 {
931 setState(981);
932 createTrigger();
933 }
934 break;
935 case 13:
936 {
937 setState(982);
938 createSequence();
939 }
940 break;
941 case 14:
942 {
943 setState(983);
944 createService();
945 }
946 break;
947 case 15:
948 {
949 setState(984);
950 createSchema();
951 }
952 break;
953 case 16:
954 {
955 setState(985);
956 alterTable();
957 }
958 break;
959 case 17:
960 {
961 setState(986);
962 alterTrigger();
963 }
964 break;
965 case 18:
966 {
967 setState(987);
968 alterSequence();
969 }
970 break;
971 case 19:
972 {
973 setState(988);
974 alterDatabase();
975 }
976 break;
977 case 20:
978 {
979 setState(989);
980 alterService();
981 }
982 break;
983 case 21:
984 {
985 setState(990);
986 alterSchema();
987 }
988 break;
989 case 22:
990 {
991 setState(991);
992 alterView();
993 }
994 break;
995 case 23:
996 {
997 setState(992);
998 dropTable();
999 }
1000 break;
1001 case 24:
1002 {
1003 setState(993);
1004 dropDatabase();
1005 }
1006 break;
1007 case 25:
1008 {
1009 setState(994);
1010 dropFunction();
1011 }
1012 break;
1013 case 26:
1014 {
1015 setState(995);
1016 dropProcedure();
1017 }
1018 break;
1019 case 27:
1020 {
1021 setState(996);
1022 dropView();
1023 }
1024 break;
1025 case 28:
1026 {
1027 setState(997);
1028 dropTrigger();
1029 }
1030 break;
1031 case 29:
1032 {
1033 setState(998);
1034 dropSequence();
1035 }
1036 break;
1037 case 30:
1038 {
1039 setState(999);
1040 dropService();
1041 }
1042 break;
1043 case 31:
1044 {
1045 setState(1000);
1046 dropSchema();
1047 }
1048 break;
1049 case 32:
1050 {
1051 setState(1001);
1052 truncateTable();
1053 }
1054 break;
1055 case 33:
1056 {
1057 setState(1002);
1058 createFunction();
1059 }
1060 break;
1061 case 34:
1062 {
1063 setState(1003);
1064 setTransaction();
1065 }
1066 break;
1067 case 35:
1068 {
1069 setState(1004);
1070 beginTransaction();
1071 }
1072 break;
1073 case 36:
1074 {
1075 setState(1005);
1076 beginDistributedTransaction();
1077 }
1078 break;
1079 case 37:
1080 {
1081 setState(1006);
1082 setImplicitTransactions();
1083 }
1084 break;
1085 case 38:
1086 {
1087 setState(1007);
1088 commit();
1089 }
1090 break;
1091 case 39:
1092 {
1093 setState(1008);
1094 commitWork();
1095 }
1096 break;
1097 case 40:
1098 {
1099 setState(1009);
1100 rollback();
1101 }
1102 break;
1103 case 41:
1104 {
1105 setState(1010);
1106 rollbackWork();
1107 }
1108 break;
1109 case 42:
1110 {
1111 setState(1011);
1112 savepoint();
1113 }
1114 break;
1115 case 43:
1116 {
1117 setState(1012);
1118 grant();
1119 }
1120 break;
1121 case 44:
1122 {
1123 setState(1013);
1124 revoke();
1125 }
1126 break;
1127 case 45:
1128 {
1129 setState(1014);
1130 deny();
1131 }
1132 break;
1133 case 46:
1134 {
1135 setState(1015);
1136 createUser();
1137 }
1138 break;
1139 case 47:
1140 {
1141 setState(1016);
1142 dropUser();
1143 }
1144 break;
1145 case 48:
1146 {
1147 setState(1017);
1148 alterUser();
1149 }
1150 break;
1151 case 49:
1152 {
1153 setState(1018);
1154 createRole();
1155 }
1156 break;
1157 case 50:
1158 {
1159 setState(1019);
1160 dropRole();
1161 }
1162 break;
1163 case 51:
1164 {
1165 setState(1020);
1166 alterRole();
1167 }
1168 break;
1169 case 52:
1170 {
1171 setState(1021);
1172 createLogin();
1173 }
1174 break;
1175 case 53:
1176 {
1177 setState(1022);
1178 dropLogin();
1179 }
1180 break;
1181 case 54:
1182 {
1183 setState(1023);
1184 alterLogin();
1185 }
1186 break;
1187 case 55:
1188 {
1189 setState(1024);
1190 call();
1191 }
1192 break;
1193 case 56:
1194 {
1195 setState(1025);
1196 explain();
1197 }
1198 break;
1199 case 57:
1200 {
1201 setState(1026);
1202 setUser();
1203 }
1204 break;
1205 case 58:
1206 {
1207 setState(1027);
1208 revert();
1209 }
1210 break;
1211 case 59:
1212 {
1213 setState(1028);
1214 updateStatistics();
1215 }
1216 break;
1217 }
1218 setState(1032);
1219 _errHandler.sync(this);
1220 _la = _input.LA(1);
1221 if (_la==SEMI_) {
1222 {
1223 setState(1031);
1224 match(SEMI_);
1225 }
1226 }
1227
1228 }
1229 }
1230 catch (RecognitionException re) {
1231 _localctx.exception = re;
1232 _errHandler.reportError(this, re);
1233 _errHandler.recover(this, re);
1234 }
1235 finally {
1236 exitRule();
1237 }
1238 return _localctx;
1239 }
1240
1241 public static class SetTransactionContext extends ParserRuleContext {
1242 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
1243 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1244 public TerminalNode ISOLATION() { return getToken(SQLServerStatementParser.ISOLATION, 0); }
1245 public TerminalNode LEVEL() { return getToken(SQLServerStatementParser.LEVEL, 0); }
1246 public IsolationLevelContext isolationLevel() {
1247 return getRuleContext(IsolationLevelContext.class,0);
1248 }
1249 public SetTransactionContext(ParserRuleContext parent, int invokingState) {
1250 super(parent, invokingState);
1251 }
1252 @Override public int getRuleIndex() { return RULE_setTransaction; }
1253 @Override
1254 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1255 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetTransaction(this);
1256 else return visitor.visitChildren(this);
1257 }
1258 }
1259
1260 public final SetTransactionContext setTransaction() throws RecognitionException {
1261 SetTransactionContext _localctx = new SetTransactionContext(_ctx, getState());
1262 enterRule(_localctx, 2, RULE_setTransaction);
1263 try {
1264 enterOuterAlt(_localctx, 1);
1265 {
1266 setState(1034);
1267 match(SET);
1268 setState(1035);
1269 match(TRANSACTION);
1270 setState(1036);
1271 match(ISOLATION);
1272 setState(1037);
1273 match(LEVEL);
1274 setState(1038);
1275 isolationLevel();
1276 }
1277 }
1278 catch (RecognitionException re) {
1279 _localctx.exception = re;
1280 _errHandler.reportError(this, re);
1281 _errHandler.recover(this, re);
1282 }
1283 finally {
1284 exitRule();
1285 }
1286 return _localctx;
1287 }
1288
1289 public static class IsolationLevelContext extends ParserRuleContext {
1290 public TerminalNode READ() { return getToken(SQLServerStatementParser.READ, 0); }
1291 public TerminalNode UNCOMMITTED() { return getToken(SQLServerStatementParser.UNCOMMITTED, 0); }
1292 public TerminalNode COMMITTED() { return getToken(SQLServerStatementParser.COMMITTED, 0); }
1293 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
1294 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
1295 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
1296 public IsolationLevelContext(ParserRuleContext parent, int invokingState) {
1297 super(parent, invokingState);
1298 }
1299 @Override public int getRuleIndex() { return RULE_isolationLevel; }
1300 @Override
1301 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1302 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIsolationLevel(this);
1303 else return visitor.visitChildren(this);
1304 }
1305 }
1306
1307 public final IsolationLevelContext isolationLevel() throws RecognitionException {
1308 IsolationLevelContext _localctx = new IsolationLevelContext(_ctx, getState());
1309 enterRule(_localctx, 4, RULE_isolationLevel);
1310 try {
1311 setState(1048);
1312 _errHandler.sync(this);
1313 switch ( getInterpreter().adaptivePredict(_input,2,_ctx) ) {
1314 case 1:
1315 enterOuterAlt(_localctx, 1);
1316 {
1317 setState(1040);
1318 match(READ);
1319 setState(1041);
1320 match(UNCOMMITTED);
1321 }
1322 break;
1323 case 2:
1324 enterOuterAlt(_localctx, 2);
1325 {
1326 setState(1042);
1327 match(READ);
1328 setState(1043);
1329 match(COMMITTED);
1330 }
1331 break;
1332 case 3:
1333 enterOuterAlt(_localctx, 3);
1334 {
1335 setState(1044);
1336 match(REPEATABLE);
1337 setState(1045);
1338 match(READ);
1339 }
1340 break;
1341 case 4:
1342 enterOuterAlt(_localctx, 4);
1343 {
1344 setState(1046);
1345 match(SNAPSHOT);
1346 }
1347 break;
1348 case 5:
1349 enterOuterAlt(_localctx, 5);
1350 {
1351 setState(1047);
1352 match(SERIALIZABLE);
1353 }
1354 break;
1355 }
1356 }
1357 catch (RecognitionException re) {
1358 _localctx.exception = re;
1359 _errHandler.reportError(this, re);
1360 _errHandler.recover(this, re);
1361 }
1362 finally {
1363 exitRule();
1364 }
1365 return _localctx;
1366 }
1367
1368 public static class SetImplicitTransactionsContext extends ParserRuleContext {
1369 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
1370 public TerminalNode IMPLICIT_TRANSACTIONS() { return getToken(SQLServerStatementParser.IMPLICIT_TRANSACTIONS, 0); }
1371 public ImplicitTransactionsValueContext implicitTransactionsValue() {
1372 return getRuleContext(ImplicitTransactionsValueContext.class,0);
1373 }
1374 public SetImplicitTransactionsContext(ParserRuleContext parent, int invokingState) {
1375 super(parent, invokingState);
1376 }
1377 @Override public int getRuleIndex() { return RULE_setImplicitTransactions; }
1378 @Override
1379 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1380 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetImplicitTransactions(this);
1381 else return visitor.visitChildren(this);
1382 }
1383 }
1384
1385 public final SetImplicitTransactionsContext setImplicitTransactions() throws RecognitionException {
1386 SetImplicitTransactionsContext _localctx = new SetImplicitTransactionsContext(_ctx, getState());
1387 enterRule(_localctx, 6, RULE_setImplicitTransactions);
1388 try {
1389 enterOuterAlt(_localctx, 1);
1390 {
1391 setState(1050);
1392 match(SET);
1393 setState(1051);
1394 match(IMPLICIT_TRANSACTIONS);
1395 setState(1052);
1396 implicitTransactionsValue();
1397 }
1398 }
1399 catch (RecognitionException re) {
1400 _localctx.exception = re;
1401 _errHandler.reportError(this, re);
1402 _errHandler.recover(this, re);
1403 }
1404 finally {
1405 exitRule();
1406 }
1407 return _localctx;
1408 }
1409
1410 public static class ImplicitTransactionsValueContext extends ParserRuleContext {
1411 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
1412 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
1413 public ImplicitTransactionsValueContext(ParserRuleContext parent, int invokingState) {
1414 super(parent, invokingState);
1415 }
1416 @Override public int getRuleIndex() { return RULE_implicitTransactionsValue; }
1417 @Override
1418 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1419 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitImplicitTransactionsValue(this);
1420 else return visitor.visitChildren(this);
1421 }
1422 }
1423
1424 public final ImplicitTransactionsValueContext implicitTransactionsValue() throws RecognitionException {
1425 ImplicitTransactionsValueContext _localctx = new ImplicitTransactionsValueContext(_ctx, getState());
1426 enterRule(_localctx, 8, RULE_implicitTransactionsValue);
1427 int _la;
1428 try {
1429 enterOuterAlt(_localctx, 1);
1430 {
1431 setState(1054);
1432 _la = _input.LA(1);
1433 if ( !(_la==ON || _la==OFF) ) {
1434 _errHandler.recoverInline(this);
1435 }
1436 else {
1437 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1438 _errHandler.reportMatch(this);
1439 consume();
1440 }
1441 }
1442 }
1443 catch (RecognitionException re) {
1444 _localctx.exception = re;
1445 _errHandler.reportError(this, re);
1446 _errHandler.recover(this, re);
1447 }
1448 finally {
1449 exitRule();
1450 }
1451 return _localctx;
1452 }
1453
1454 public static class BeginTransactionContext extends ParserRuleContext {
1455 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
1456 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1457 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1458 public TransactionNameContext transactionName() {
1459 return getRuleContext(TransactionNameContext.class,0);
1460 }
1461 public TransactionVariableNameContext transactionVariableName() {
1462 return getRuleContext(TransactionVariableNameContext.class,0);
1463 }
1464 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
1465 public TerminalNode MARK() { return getToken(SQLServerStatementParser.MARK, 0); }
1466 public StringLiteralsContext stringLiterals() {
1467 return getRuleContext(StringLiteralsContext.class,0);
1468 }
1469 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
1470 public BeginTransactionContext(ParserRuleContext parent, int invokingState) {
1471 super(parent, invokingState);
1472 }
1473 @Override public int getRuleIndex() { return RULE_beginTransaction; }
1474 @Override
1475 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1476 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBeginTransaction(this);
1477 else return visitor.visitChildren(this);
1478 }
1479 }
1480
1481 public final BeginTransactionContext beginTransaction() throws RecognitionException {
1482 BeginTransactionContext _localctx = new BeginTransactionContext(_ctx, getState());
1483 enterRule(_localctx, 10, RULE_beginTransaction);
1484 int _la;
1485 try {
1486 enterOuterAlt(_localctx, 1);
1487 {
1488 setState(1056);
1489 match(BEGIN);
1490 setState(1057);
1491 _la = _input.LA(1);
1492 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1493 _errHandler.recoverInline(this);
1494 }
1495 else {
1496 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1497 _errHandler.reportMatch(this);
1498 consume();
1499 }
1500 setState(1070);
1501 _errHandler.sync(this);
1502 _la = _input.LA(1);
1503 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (QUARTER - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)) | (1L << (ROW - 184)) | (1L << (ROWS - 184)) | (1L << (XOR - 184)) | (1L << (ALWAYS - 184)) | (1L << (ROLE - 184)) | (1L << (START - 184)) | (1L << (ALGORITHM - 184)) | (1L << (AUTO - 184)) | (1L << (BLOCKERS - 184)) | (1L << (CLUSTERED - 184)) | (1L << (NONCLUSTERED - 184)) | (1L << (COLUMNSTORE - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)) | (1L << (RANDOMIZED - 248)) | (1L << (RANGE - 248)) | (1L << (REBUILD - 248)) | (1L << (REPLICATE - 248)) | (1L << (REPLICATION - 248)) | (1L << (RESUMABLE - 248)) | (1L << (ROWGUIDCOL - 248)) | (1L << (SAVE - 248)) | (1L << (SELF - 248)) | (1L << (SPARSE - 248)) | (1L << (SWITCH - 248)) | (1L << (TRAN - 248)) | (1L << (TRANCOUNT - 248)) | (1L << (CONTROL - 248)) | (1L << (CONCAT - 248)) | (1L << (TAKE - 248)) | (1L << (OWNERSHIP - 248)) | (1L << (DEFINITION - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)) | (1L << (DATA - 312)) | (1L << (SOURCE - 312)) | (1L << (FILE - 312)) | (1L << (FORMAT - 312)) | (1L << (LIBRARY - 312)) | (1L << (FULLTEXT - 312)) | (1L << (MASK - 312)) | (1L << (UNMASK - 312)) | (1L << (MESSAGE - 312)) | (1L << (REMOTE - 312)) | (1L << (BINDING - 312)) | (1L << (ROUTE - 312)) | (1L << (SECURITY - 312)) | (1L << (POLICY - 312)) | (1L << (AGGREGATE - 312)) | (1L << (QUEUE - 312)) | (1L << (RULE - 312)) | (1L << (SYNONYM - 312)) | (1L << (COLLECTION - 312)) | (1L << (SCRIPT - 312)) | (1L << (KILL - 312)) | (1L << (BACKUP - 312)) | (1L << (LOG - 312)) | (1L << (SHOWPLAN - 312)) | (1L << (SUBSCRIBE - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILTER_PREDICATE - 376)) | (1L << (HISTORY_RETENTION_PERIOD - 376)) | (1L << (HISTORY_TABLE - 376)) | (1L << (LOCK_ESCALATION - 376)) | (1L << (DROP_EXISTING - 376)) | (1L << (ROW_NUMBER - 376)) | (1L << (FIRST - 376)) | (1L << (DATETIME2 - 376)))) != 0) || ((((_la - 441)) & ~0x3f) == 0 && ((1L << (_la - 441)) & ((1L << (OUTPUT - 441)) | (1L << (INSERTED - 441)) | (1L << (DELETED - 441)) | (1L << (FILENAME - 441)) | (1L << (MAXSIZE - 441)) | (1L << (FILEGROWTH - 441)) | (1L << (UNLIMITED - 441)) | (1L << (KB - 441)) | (1L << (MB - 441)) | (1L << (GB - 441)) | (1L << (TB - 441)) | (1L << (MEMORY_OPTIMIZED_DATA - 441)) | (1L << (FILEGROUP - 441)) | (1L << (NON_TRANSACTED_ACCESS - 441)) | (1L << (DB_CHAINING - 441)) | (1L << (TRUSTWORTHY - 441)) | (1L << (FORWARD_ONLY - 441)) | (1L << (KEYSET - 441)) | (1L << (FAST_FORWARD - 441)) | (1L << (SCROLL_LOCKS - 441)) | (1L << (OPTIMISTIC - 441)) | (1L << (TYPE_WARNING - 441)) | (1L << (SCHEMABINDING - 441)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (CALLER - 505)) | (1L << (OWNER - 505)) | (1L << (SNAPSHOT - 505)) | (1L << (REPEATABLE - 505)) | (1L << (SERIALIZABLE - 505)) | (1L << (NATIVE_COMPILATION - 505)) | (1L << (VIEW_METADATA - 505)) | (1L << (INSTEAD - 505)) | (1L << (APPEND - 505)) | (1L << (INCREMENT - 505)) | (1L << (CACHE - 505)) | (1L << (MINVALUE - 505)) | (1L << (MAXVALUE - 505)) | (1L << (RESTART - 505)) | (1L << (LOB_COMPACTION - 505)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 505)) | (1L << (REORGANIZE - 505)) | (1L << (RESUME - 505)) | (1L << (PAUSE - 505)) | (1L << (ABORT - 505)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 505)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 505)) | (1L << (IMMEDIATE - 505)) | (1L << (NO_WAIT - 505)) | (1L << (TARGET_RECOVERY_TIME - 505)) | (1L << (SECONDS - 505)) | (1L << (HONOR_BROKER_PRIORITY - 505)) | (1L << (ERROR_BROKER_CONVERSATIONS - 505)) | (1L << (NEW_BROKER - 505)) | (1L << (DISABLE_BROKER - 505)) | (1L << (ENABLE_BROKER - 505)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 505)) | (1L << (READ_COMMITTED_SNAPSHOT - 505)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 505)) | (1L << (RECURSIVE_TRIGGERS - 505)) | (1L << (QUOTED_IDENTIFIER - 505)) | (1L << (NUMERIC_ROUNDABORT - 505)) | (1L << (CONCAT_NULL_YIELDS_NULL - 505)) | (1L << (COMPATIBILITY_LEVEL - 505)) | (1L << (ARITHABORT - 505)) | (1L << (ANSI_WARNINGS - 505)) | (1L << (ANSI_PADDING - 505)) | (1L << (ANSI_NULLS - 505)))) != 0) || ((((_la - 569)) & ~0x3f) == 0 && ((1L << (_la - 569)) & ((1L << (ANSI_NULL_DEFAULT - 569)) | (1L << (PAGE_VERIFY - 569)) | (1L << (CHECKSUM - 569)) | (1L << (TORN_PAGE_DETECTION - 569)) | (1L << (BULK_LOGGED - 569)) | (1L << (RECOVERY - 569)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 569)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 569)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 569)) | (1L << (EXECUTION_COUNT - 569)) | (1L << (QUERY_CAPTURE_POLICY - 569)) | (1L << (WAIT_STATS_CAPTURE_MODE - 569)) | (1L << (MAX_PLANS_PER_QUERY - 569)) | (1L << (QUERY_CAPTURE_MODE - 569)) | (1L << (SIZE_BASED_CLEANUP_MODE - 569)) | (1L << (INTERVAL_LENGTH_MINUTES - 569)) | (1L << (MAX_STORAGE_SIZE_MB - 569)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 569)) | (1L << (CLEANUP_POLICY - 569)) | (1L << (CUSTOM - 569)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 569)) | (1L << (OPERATION_MODE - 569)) | (1L << (QUERY_STORE - 569)) | (1L << (CURSOR_DEFAULT - 569)) | (1L << (GLOBAL - 569)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 569)) | (1L << (HOURS - 569)) | (1L << (CHANGE_RETENTION - 569)) | (1L << (AUTO_CLEANUP - 569)) | (1L << (CHANGE_TRACKING - 569)) | (1L << (AUTOMATIC_TUNING - 569)) | (1L << (FORCE_LAST_GOOD_PLAN - 569)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 569)) | (1L << (AUTO_UPDATE_STATISTICS - 569)) | (1L << (AUTO_SHRINK - 569)) | (1L << (AUTO_CREATE_STATISTICS - 569)) | (1L << (INCREMENTAL - 569)) | (1L << (AUTO_CLOSE - 569)) | (1L << (DATA_RETENTION - 569)) | (1L << (TEMPORAL_HISTORY_RETENTION - 569)) | (1L << (EDITION - 569)) | (1L << (MIXED_PAGE_ALLOCATION - 569)) | (1L << (DISABLED - 569)) | (1L << (ALLOWED - 569)) | (1L << (HADR - 569)) | (1L << (MULTI_USER - 569)) | (1L << (RESTRICTED_USER - 569)) | (1L << (SINGLE_USER - 569)) | (1L << (OFFLINE - 569)) | (1L << (EMERGENCY - 569)) | (1L << (SUSPEND - 569)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 569)) | (1L << (ELASTIC_POOL - 569)) | (1L << (SERVICE_OBJECTIVE - 569)) | (1L << (DATABASE_NAME - 569)) | (1L << (ALLOW_CONNECTIONS - 569)) | (1L << (GEO - 569)) | (1L << (NAMED - 569)) | (1L << (DATEFIRST - 569)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 569)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 569)) | (1L << (SECONDARY - 569)) | (1L << (FAILOVER - 569)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 569)))) != 0) || ((((_la - 633)) & ~0x3f) == 0 && ((1L << (_la - 633)) & ((1L << (DEFAULT_LANGUAGE - 633)) | (1L << (INLINE - 633)) | (1L << (NESTED_TRIGGERS - 633)) | (1L << (TRANSFORM_NOISE_WORDS - 633)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 633)) | (1L << (PERSISTENT_LOG_BUFFER - 633)) | (1L << (DIRECTORY_NAME - 633)) | (1L << (DATEFORMAT - 633)) | (1L << (DELAYED_DURABILITY - 633)) | (1L << (AUTHORIZATION - 633)) | (1L << (TRANSFER - 633)) | (1L << (PROVIDER - 633)) | (1L << (SEARCH - 633)) | (1L << (MEMBER - 633)) | (1L << (IDENTIFIER_ - 633)) | (1L << (DELIMITED_IDENTIFIER_ - 633)))) != 0)) {
1504 {
1505 setState(1060);
1506 _errHandler.sync(this);
1507 switch ( getInterpreter().adaptivePredict(_input,3,_ctx) ) {
1508 case 1:
1509 {
1510 setState(1058);
1511 transactionName();
1512 }
1513 break;
1514 case 2:
1515 {
1516 setState(1059);
1517 transactionVariableName();
1518 }
1519 break;
1520 }
1521 setState(1068);
1522 _errHandler.sync(this);
1523 _la = _input.LA(1);
1524 if (_la==WITH) {
1525 {
1526 setState(1062);
1527 match(WITH);
1528 setState(1063);
1529 match(MARK);
1530 setState(1066);
1531 _errHandler.sync(this);
1532 switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) {
1533 case 1:
1534 {
1535 setState(1064);
1536 stringLiterals();
1537 }
1538 break;
1539 case 2:
1540 {
1541 setState(1065);
1542 match(NCHAR_TEXT);
1543 }
1544 break;
1545 }
1546 }
1547 }
1548
1549 }
1550 }
1551
1552 }
1553 }
1554 catch (RecognitionException re) {
1555 _localctx.exception = re;
1556 _errHandler.reportError(this, re);
1557 _errHandler.recover(this, re);
1558 }
1559 finally {
1560 exitRule();
1561 }
1562 return _localctx;
1563 }
1564
1565 public static class BeginDistributedTransactionContext extends ParserRuleContext {
1566 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
1567 public TerminalNode DISTRIBUTED() { return getToken(SQLServerStatementParser.DISTRIBUTED, 0); }
1568 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1569 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1570 public TransactionNameContext transactionName() {
1571 return getRuleContext(TransactionNameContext.class,0);
1572 }
1573 public TransactionVariableNameContext transactionVariableName() {
1574 return getRuleContext(TransactionVariableNameContext.class,0);
1575 }
1576 public BeginDistributedTransactionContext(ParserRuleContext parent, int invokingState) {
1577 super(parent, invokingState);
1578 }
1579 @Override public int getRuleIndex() { return RULE_beginDistributedTransaction; }
1580 @Override
1581 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1582 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBeginDistributedTransaction(this);
1583 else return visitor.visitChildren(this);
1584 }
1585 }
1586
1587 public final BeginDistributedTransactionContext beginDistributedTransaction() throws RecognitionException {
1588 BeginDistributedTransactionContext _localctx = new BeginDistributedTransactionContext(_ctx, getState());
1589 enterRule(_localctx, 12, RULE_beginDistributedTransaction);
1590 int _la;
1591 try {
1592 enterOuterAlt(_localctx, 1);
1593 {
1594 setState(1072);
1595 match(BEGIN);
1596 setState(1073);
1597 match(DISTRIBUTED);
1598 setState(1074);
1599 _la = _input.LA(1);
1600 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1601 _errHandler.recoverInline(this);
1602 }
1603 else {
1604 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1605 _errHandler.reportMatch(this);
1606 consume();
1607 }
1608 setState(1077);
1609 _errHandler.sync(this);
1610 switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) {
1611 case 1:
1612 {
1613 setState(1075);
1614 transactionName();
1615 }
1616 break;
1617 case 2:
1618 {
1619 setState(1076);
1620 transactionVariableName();
1621 }
1622 break;
1623 }
1624 }
1625 }
1626 catch (RecognitionException re) {
1627 _localctx.exception = re;
1628 _errHandler.reportError(this, re);
1629 _errHandler.recover(this, re);
1630 }
1631 finally {
1632 exitRule();
1633 }
1634 return _localctx;
1635 }
1636
1637 public static class CommitContext extends ParserRuleContext {
1638 public TerminalNode COMMIT() { return getToken(SQLServerStatementParser.COMMIT, 0); }
1639 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
1640 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
1641 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
1642 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
1643 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
1644 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1645 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1646 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
1647 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
1648 public TransactionNameContext transactionName() {
1649 return getRuleContext(TransactionNameContext.class,0);
1650 }
1651 public TransactionVariableNameContext transactionVariableName() {
1652 return getRuleContext(TransactionVariableNameContext.class,0);
1653 }
1654 public CommitContext(ParserRuleContext parent, int invokingState) {
1655 super(parent, invokingState);
1656 }
1657 @Override public int getRuleIndex() { return RULE_commit; }
1658 @Override
1659 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1660 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommit(this);
1661 else return visitor.visitChildren(this);
1662 }
1663 }
1664
1665 public final CommitContext commit() throws RecognitionException {
1666 CommitContext _localctx = new CommitContext(_ctx, getState());
1667 enterRule(_localctx, 14, RULE_commit);
1668 int _la;
1669 try {
1670 enterOuterAlt(_localctx, 1);
1671 {
1672 setState(1079);
1673 match(COMMIT);
1674 setState(1085);
1675 _errHandler.sync(this);
1676 _la = _input.LA(1);
1677 if (_la==TRANSACTION || _la==TRAN) {
1678 {
1679 setState(1080);
1680 _la = _input.LA(1);
1681 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1682 _errHandler.recoverInline(this);
1683 }
1684 else {
1685 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1686 _errHandler.reportMatch(this);
1687 consume();
1688 }
1689 setState(1083);
1690 _errHandler.sync(this);
1691 switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) {
1692 case 1:
1693 {
1694 setState(1081);
1695 transactionName();
1696 }
1697 break;
1698 case 2:
1699 {
1700 setState(1082);
1701 transactionVariableName();
1702 }
1703 break;
1704 }
1705 }
1706 }
1707
1708 setState(1093);
1709 _errHandler.sync(this);
1710 _la = _input.LA(1);
1711 if (_la==WITH) {
1712 {
1713 setState(1087);
1714 match(WITH);
1715 setState(1088);
1716 match(LP_);
1717 setState(1089);
1718 match(DELAYED_DURABILITY);
1719 setState(1090);
1720 match(EQ_);
1721 setState(1091);
1722 _la = _input.LA(1);
1723 if ( !(_la==ON || _la==OFF) ) {
1724 _errHandler.recoverInline(this);
1725 }
1726 else {
1727 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1728 _errHandler.reportMatch(this);
1729 consume();
1730 }
1731 setState(1092);
1732 match(RP_);
1733 }
1734 }
1735
1736 }
1737 }
1738 catch (RecognitionException re) {
1739 _localctx.exception = re;
1740 _errHandler.reportError(this, re);
1741 _errHandler.recover(this, re);
1742 }
1743 finally {
1744 exitRule();
1745 }
1746 return _localctx;
1747 }
1748
1749 public static class CommitWorkContext extends ParserRuleContext {
1750 public TerminalNode COMMIT() { return getToken(SQLServerStatementParser.COMMIT, 0); }
1751 public TerminalNode WORK() { return getToken(SQLServerStatementParser.WORK, 0); }
1752 public CommitWorkContext(ParserRuleContext parent, int invokingState) {
1753 super(parent, invokingState);
1754 }
1755 @Override public int getRuleIndex() { return RULE_commitWork; }
1756 @Override
1757 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1758 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommitWork(this);
1759 else return visitor.visitChildren(this);
1760 }
1761 }
1762
1763 public final CommitWorkContext commitWork() throws RecognitionException {
1764 CommitWorkContext _localctx = new CommitWorkContext(_ctx, getState());
1765 enterRule(_localctx, 16, RULE_commitWork);
1766 int _la;
1767 try {
1768 enterOuterAlt(_localctx, 1);
1769 {
1770 setState(1095);
1771 match(COMMIT);
1772 setState(1097);
1773 _errHandler.sync(this);
1774 _la = _input.LA(1);
1775 if (_la==WORK) {
1776 {
1777 setState(1096);
1778 match(WORK);
1779 }
1780 }
1781
1782 }
1783 }
1784 catch (RecognitionException re) {
1785 _localctx.exception = re;
1786 _errHandler.reportError(this, re);
1787 _errHandler.recover(this, re);
1788 }
1789 finally {
1790 exitRule();
1791 }
1792 return _localctx;
1793 }
1794
1795 public static class RollbackContext extends ParserRuleContext {
1796 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
1797 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1798 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1799 public TransactionNameContext transactionName() {
1800 return getRuleContext(TransactionNameContext.class,0);
1801 }
1802 public TransactionVariableNameContext transactionVariableName() {
1803 return getRuleContext(TransactionVariableNameContext.class,0);
1804 }
1805 public SavepointNameContext savepointName() {
1806 return getRuleContext(SavepointNameContext.class,0);
1807 }
1808 public SavepointVariableNameContext savepointVariableName() {
1809 return getRuleContext(SavepointVariableNameContext.class,0);
1810 }
1811 public RollbackContext(ParserRuleContext parent, int invokingState) {
1812 super(parent, invokingState);
1813 }
1814 @Override public int getRuleIndex() { return RULE_rollback; }
1815 @Override
1816 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1817 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRollback(this);
1818 else return visitor.visitChildren(this);
1819 }
1820 }
1821
1822 public final RollbackContext rollback() throws RecognitionException {
1823 RollbackContext _localctx = new RollbackContext(_ctx, getState());
1824 enterRule(_localctx, 18, RULE_rollback);
1825 int _la;
1826 try {
1827 enterOuterAlt(_localctx, 1);
1828 {
1829 setState(1099);
1830 match(ROLLBACK);
1831 setState(1100);
1832 _la = _input.LA(1);
1833 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1834 _errHandler.recoverInline(this);
1835 }
1836 else {
1837 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1838 _errHandler.reportMatch(this);
1839 consume();
1840 }
1841 setState(1105);
1842 _errHandler.sync(this);
1843 switch ( getInterpreter().adaptivePredict(_input,12,_ctx) ) {
1844 case 1:
1845 {
1846 setState(1101);
1847 transactionName();
1848 }
1849 break;
1850 case 2:
1851 {
1852 setState(1102);
1853 transactionVariableName();
1854 }
1855 break;
1856 case 3:
1857 {
1858 setState(1103);
1859 savepointName();
1860 }
1861 break;
1862 case 4:
1863 {
1864 setState(1104);
1865 savepointVariableName();
1866 }
1867 break;
1868 }
1869 }
1870 }
1871 catch (RecognitionException re) {
1872 _localctx.exception = re;
1873 _errHandler.reportError(this, re);
1874 _errHandler.recover(this, re);
1875 }
1876 finally {
1877 exitRule();
1878 }
1879 return _localctx;
1880 }
1881
1882 public static class RollbackWorkContext extends ParserRuleContext {
1883 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
1884 public TerminalNode WORK() { return getToken(SQLServerStatementParser.WORK, 0); }
1885 public RollbackWorkContext(ParserRuleContext parent, int invokingState) {
1886 super(parent, invokingState);
1887 }
1888 @Override public int getRuleIndex() { return RULE_rollbackWork; }
1889 @Override
1890 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1891 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRollbackWork(this);
1892 else return visitor.visitChildren(this);
1893 }
1894 }
1895
1896 public final RollbackWorkContext rollbackWork() throws RecognitionException {
1897 RollbackWorkContext _localctx = new RollbackWorkContext(_ctx, getState());
1898 enterRule(_localctx, 20, RULE_rollbackWork);
1899 int _la;
1900 try {
1901 enterOuterAlt(_localctx, 1);
1902 {
1903 setState(1107);
1904 match(ROLLBACK);
1905 setState(1109);
1906 _errHandler.sync(this);
1907 _la = _input.LA(1);
1908 if (_la==WORK) {
1909 {
1910 setState(1108);
1911 match(WORK);
1912 }
1913 }
1914
1915 }
1916 }
1917 catch (RecognitionException re) {
1918 _localctx.exception = re;
1919 _errHandler.reportError(this, re);
1920 _errHandler.recover(this, re);
1921 }
1922 finally {
1923 exitRule();
1924 }
1925 return _localctx;
1926 }
1927
1928 public static class SavepointContext extends ParserRuleContext {
1929 public TerminalNode SAVE() { return getToken(SQLServerStatementParser.SAVE, 0); }
1930 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1931 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1932 public SavepointNameContext savepointName() {
1933 return getRuleContext(SavepointNameContext.class,0);
1934 }
1935 public SavepointVariableNameContext savepointVariableName() {
1936 return getRuleContext(SavepointVariableNameContext.class,0);
1937 }
1938 public SavepointContext(ParserRuleContext parent, int invokingState) {
1939 super(parent, invokingState);
1940 }
1941 @Override public int getRuleIndex() { return RULE_savepoint; }
1942 @Override
1943 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1944 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepoint(this);
1945 else return visitor.visitChildren(this);
1946 }
1947 }
1948
1949 public final SavepointContext savepoint() throws RecognitionException {
1950 SavepointContext _localctx = new SavepointContext(_ctx, getState());
1951 enterRule(_localctx, 22, RULE_savepoint);
1952 int _la;
1953 try {
1954 enterOuterAlt(_localctx, 1);
1955 {
1956 setState(1111);
1957 match(SAVE);
1958 setState(1112);
1959 _la = _input.LA(1);
1960 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1961 _errHandler.recoverInline(this);
1962 }
1963 else {
1964 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1965 _errHandler.reportMatch(this);
1966 consume();
1967 }
1968 setState(1115);
1969 _errHandler.sync(this);
1970 switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) {
1971 case 1:
1972 {
1973 setState(1113);
1974 savepointName();
1975 }
1976 break;
1977 case 2:
1978 {
1979 setState(1114);
1980 savepointVariableName();
1981 }
1982 break;
1983 }
1984 }
1985 }
1986 catch (RecognitionException re) {
1987 _localctx.exception = re;
1988 _errHandler.reportError(this, re);
1989 _errHandler.recover(this, re);
1990 }
1991 finally {
1992 exitRule();
1993 }
1994 return _localctx;
1995 }
1996
1997 public static class ParameterMarkerContext extends ParserRuleContext {
1998 public TerminalNode QUESTION_() { return getToken(SQLServerStatementParser.QUESTION_, 0); }
1999 public ParameterMarkerContext(ParserRuleContext parent, int invokingState) {
2000 super(parent, invokingState);
2001 }
2002 @Override public int getRuleIndex() { return RULE_parameterMarker; }
2003 @Override
2004 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2005 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitParameterMarker(this);
2006 else return visitor.visitChildren(this);
2007 }
2008 }
2009
2010 public final ParameterMarkerContext parameterMarker() throws RecognitionException {
2011 ParameterMarkerContext _localctx = new ParameterMarkerContext(_ctx, getState());
2012 enterRule(_localctx, 24, RULE_parameterMarker);
2013 try {
2014 enterOuterAlt(_localctx, 1);
2015 {
2016 setState(1117);
2017 match(QUESTION_);
2018 }
2019 }
2020 catch (RecognitionException re) {
2021 _localctx.exception = re;
2022 _errHandler.reportError(this, re);
2023 _errHandler.recover(this, re);
2024 }
2025 finally {
2026 exitRule();
2027 }
2028 return _localctx;
2029 }
2030
2031 public static class LiteralsContext extends ParserRuleContext {
2032 public StringLiteralsContext stringLiterals() {
2033 return getRuleContext(StringLiteralsContext.class,0);
2034 }
2035 public NumberLiteralsContext numberLiterals() {
2036 return getRuleContext(NumberLiteralsContext.class,0);
2037 }
2038 public DateTimeLiteralsContext dateTimeLiterals() {
2039 return getRuleContext(DateTimeLiteralsContext.class,0);
2040 }
2041 public HexadecimalLiteralsContext hexadecimalLiterals() {
2042 return getRuleContext(HexadecimalLiteralsContext.class,0);
2043 }
2044 public BitValueLiteralsContext bitValueLiterals() {
2045 return getRuleContext(BitValueLiteralsContext.class,0);
2046 }
2047 public BooleanLiteralsContext booleanLiterals() {
2048 return getRuleContext(BooleanLiteralsContext.class,0);
2049 }
2050 public NullValueLiteralsContext nullValueLiterals() {
2051 return getRuleContext(NullValueLiteralsContext.class,0);
2052 }
2053 public LiteralsContext(ParserRuleContext parent, int invokingState) {
2054 super(parent, invokingState);
2055 }
2056 @Override public int getRuleIndex() { return RULE_literals; }
2057 @Override
2058 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2059 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLiterals(this);
2060 else return visitor.visitChildren(this);
2061 }
2062 }
2063
2064 public final LiteralsContext literals() throws RecognitionException {
2065 LiteralsContext _localctx = new LiteralsContext(_ctx, getState());
2066 enterRule(_localctx, 26, RULE_literals);
2067 try {
2068 setState(1126);
2069 _errHandler.sync(this);
2070 switch (_input.LA(1)) {
2071 case STRING_:
2072 case NCHAR_TEXT:
2073 enterOuterAlt(_localctx, 1);
2074 {
2075 setState(1119);
2076 stringLiterals();
2077 }
2078 break;
2079 case PLUS_:
2080 case MINUS_:
2081 case NUMBER_:
2082 enterOuterAlt(_localctx, 2);
2083 {
2084 setState(1120);
2085 numberLiterals();
2086 }
2087 break;
2088 case LBE_:
2089 case DATE:
2090 case TIME:
2091 case TIMESTAMP:
2092 enterOuterAlt(_localctx, 3);
2093 {
2094 setState(1121);
2095 dateTimeLiterals();
2096 }
2097 break;
2098 case HEX_DIGIT_:
2099 enterOuterAlt(_localctx, 4);
2100 {
2101 setState(1122);
2102 hexadecimalLiterals();
2103 }
2104 break;
2105 case BIT_NUM_:
2106 enterOuterAlt(_localctx, 5);
2107 {
2108 setState(1123);
2109 bitValueLiterals();
2110 }
2111 break;
2112 case TRUE:
2113 case FALSE:
2114 enterOuterAlt(_localctx, 6);
2115 {
2116 setState(1124);
2117 booleanLiterals();
2118 }
2119 break;
2120 case NULL:
2121 enterOuterAlt(_localctx, 7);
2122 {
2123 setState(1125);
2124 nullValueLiterals();
2125 }
2126 break;
2127 default:
2128 throw new NoViableAltException(this);
2129 }
2130 }
2131 catch (RecognitionException re) {
2132 _localctx.exception = re;
2133 _errHandler.reportError(this, re);
2134 _errHandler.recover(this, re);
2135 }
2136 finally {
2137 exitRule();
2138 }
2139 return _localctx;
2140 }
2141
2142 public static class StringLiteralsContext extends ParserRuleContext {
2143 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
2144 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
2145 public StringLiteralsContext(ParserRuleContext parent, int invokingState) {
2146 super(parent, invokingState);
2147 }
2148 @Override public int getRuleIndex() { return RULE_stringLiterals; }
2149 @Override
2150 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2151 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStringLiterals(this);
2152 else return visitor.visitChildren(this);
2153 }
2154 }
2155
2156 public final StringLiteralsContext stringLiterals() throws RecognitionException {
2157 StringLiteralsContext _localctx = new StringLiteralsContext(_ctx, getState());
2158 enterRule(_localctx, 28, RULE_stringLiterals);
2159 int _la;
2160 try {
2161 enterOuterAlt(_localctx, 1);
2162 {
2163 setState(1128);
2164 _la = _input.LA(1);
2165 if ( !(_la==STRING_ || _la==NCHAR_TEXT) ) {
2166 _errHandler.recoverInline(this);
2167 }
2168 else {
2169 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2170 _errHandler.reportMatch(this);
2171 consume();
2172 }
2173 }
2174 }
2175 catch (RecognitionException re) {
2176 _localctx.exception = re;
2177 _errHandler.reportError(this, re);
2178 _errHandler.recover(this, re);
2179 }
2180 finally {
2181 exitRule();
2182 }
2183 return _localctx;
2184 }
2185
2186 public static class NumberLiteralsContext extends ParserRuleContext {
2187 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
2188 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
2189 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
2190 public NumberLiteralsContext(ParserRuleContext parent, int invokingState) {
2191 super(parent, invokingState);
2192 }
2193 @Override public int getRuleIndex() { return RULE_numberLiterals; }
2194 @Override
2195 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2196 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNumberLiterals(this);
2197 else return visitor.visitChildren(this);
2198 }
2199 }
2200
2201 public final NumberLiteralsContext numberLiterals() throws RecognitionException {
2202 NumberLiteralsContext _localctx = new NumberLiteralsContext(_ctx, getState());
2203 enterRule(_localctx, 30, RULE_numberLiterals);
2204 int _la;
2205 try {
2206 enterOuterAlt(_localctx, 1);
2207 {
2208 setState(1131);
2209 _errHandler.sync(this);
2210 _la = _input.LA(1);
2211 if (_la==PLUS_ || _la==MINUS_) {
2212 {
2213 setState(1130);
2214 _la = _input.LA(1);
2215 if ( !(_la==PLUS_ || _la==MINUS_) ) {
2216 _errHandler.recoverInline(this);
2217 }
2218 else {
2219 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2220 _errHandler.reportMatch(this);
2221 consume();
2222 }
2223 }
2224 }
2225
2226 setState(1133);
2227 match(NUMBER_);
2228 }
2229 }
2230 catch (RecognitionException re) {
2231 _localctx.exception = re;
2232 _errHandler.reportError(this, re);
2233 _errHandler.recover(this, re);
2234 }
2235 finally {
2236 exitRule();
2237 }
2238 return _localctx;
2239 }
2240
2241 public static class DateTimeLiteralsContext extends ParserRuleContext {
2242 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
2243 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
2244 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
2245 public TerminalNode TIMESTAMP() { return getToken(SQLServerStatementParser.TIMESTAMP, 0); }
2246 public TerminalNode LBE_() { return getToken(SQLServerStatementParser.LBE_, 0); }
2247 public IdentifierContext identifier() {
2248 return getRuleContext(IdentifierContext.class,0);
2249 }
2250 public TerminalNode RBE_() { return getToken(SQLServerStatementParser.RBE_, 0); }
2251 public DateTimeLiteralsContext(ParserRuleContext parent, int invokingState) {
2252 super(parent, invokingState);
2253 }
2254 @Override public int getRuleIndex() { return RULE_dateTimeLiterals; }
2255 @Override
2256 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2257 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDateTimeLiterals(this);
2258 else return visitor.visitChildren(this);
2259 }
2260 }
2261
2262 public final DateTimeLiteralsContext dateTimeLiterals() throws RecognitionException {
2263 DateTimeLiteralsContext _localctx = new DateTimeLiteralsContext(_ctx, getState());
2264 enterRule(_localctx, 32, RULE_dateTimeLiterals);
2265 int _la;
2266 try {
2267 setState(1142);
2268 _errHandler.sync(this);
2269 switch (_input.LA(1)) {
2270 case DATE:
2271 case TIME:
2272 case TIMESTAMP:
2273 enterOuterAlt(_localctx, 1);
2274 {
2275 setState(1135);
2276 _la = _input.LA(1);
2277 if ( !(((((_la - 135)) & ~0x3f) == 0 && ((1L << (_la - 135)) & ((1L << (DATE - 135)) | (1L << (TIME - 135)) | (1L << (TIMESTAMP - 135)))) != 0)) ) {
2278 _errHandler.recoverInline(this);
2279 }
2280 else {
2281 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2282 _errHandler.reportMatch(this);
2283 consume();
2284 }
2285 setState(1136);
2286 match(STRING_);
2287 }
2288 break;
2289 case LBE_:
2290 enterOuterAlt(_localctx, 2);
2291 {
2292 setState(1137);
2293 match(LBE_);
2294 setState(1138);
2295 identifier();
2296 setState(1139);
2297 match(STRING_);
2298 setState(1140);
2299 match(RBE_);
2300 }
2301 break;
2302 default:
2303 throw new NoViableAltException(this);
2304 }
2305 }
2306 catch (RecognitionException re) {
2307 _localctx.exception = re;
2308 _errHandler.reportError(this, re);
2309 _errHandler.recover(this, re);
2310 }
2311 finally {
2312 exitRule();
2313 }
2314 return _localctx;
2315 }
2316
2317 public static class HexadecimalLiteralsContext extends ParserRuleContext {
2318 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
2319 public HexadecimalLiteralsContext(ParserRuleContext parent, int invokingState) {
2320 super(parent, invokingState);
2321 }
2322 @Override public int getRuleIndex() { return RULE_hexadecimalLiterals; }
2323 @Override
2324 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2325 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHexadecimalLiterals(this);
2326 else return visitor.visitChildren(this);
2327 }
2328 }
2329
2330 public final HexadecimalLiteralsContext hexadecimalLiterals() throws RecognitionException {
2331 HexadecimalLiteralsContext _localctx = new HexadecimalLiteralsContext(_ctx, getState());
2332 enterRule(_localctx, 34, RULE_hexadecimalLiterals);
2333 try {
2334 enterOuterAlt(_localctx, 1);
2335 {
2336 setState(1144);
2337 match(HEX_DIGIT_);
2338 }
2339 }
2340 catch (RecognitionException re) {
2341 _localctx.exception = re;
2342 _errHandler.reportError(this, re);
2343 _errHandler.recover(this, re);
2344 }
2345 finally {
2346 exitRule();
2347 }
2348 return _localctx;
2349 }
2350
2351 public static class BitValueLiteralsContext extends ParserRuleContext {
2352 public TerminalNode BIT_NUM_() { return getToken(SQLServerStatementParser.BIT_NUM_, 0); }
2353 public BitValueLiteralsContext(ParserRuleContext parent, int invokingState) {
2354 super(parent, invokingState);
2355 }
2356 @Override public int getRuleIndex() { return RULE_bitValueLiterals; }
2357 @Override
2358 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2359 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBitValueLiterals(this);
2360 else return visitor.visitChildren(this);
2361 }
2362 }
2363
2364 public final BitValueLiteralsContext bitValueLiterals() throws RecognitionException {
2365 BitValueLiteralsContext _localctx = new BitValueLiteralsContext(_ctx, getState());
2366 enterRule(_localctx, 36, RULE_bitValueLiterals);
2367 try {
2368 enterOuterAlt(_localctx, 1);
2369 {
2370 setState(1146);
2371 match(BIT_NUM_);
2372 }
2373 }
2374 catch (RecognitionException re) {
2375 _localctx.exception = re;
2376 _errHandler.reportError(this, re);
2377 _errHandler.recover(this, re);
2378 }
2379 finally {
2380 exitRule();
2381 }
2382 return _localctx;
2383 }
2384
2385 public static class BooleanLiteralsContext extends ParserRuleContext {
2386 public TerminalNode TRUE() { return getToken(SQLServerStatementParser.TRUE, 0); }
2387 public TerminalNode FALSE() { return getToken(SQLServerStatementParser.FALSE, 0); }
2388 public BooleanLiteralsContext(ParserRuleContext parent, int invokingState) {
2389 super(parent, invokingState);
2390 }
2391 @Override public int getRuleIndex() { return RULE_booleanLiterals; }
2392 @Override
2393 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2394 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBooleanLiterals(this);
2395 else return visitor.visitChildren(this);
2396 }
2397 }
2398
2399 public final BooleanLiteralsContext booleanLiterals() throws RecognitionException {
2400 BooleanLiteralsContext _localctx = new BooleanLiteralsContext(_ctx, getState());
2401 enterRule(_localctx, 38, RULE_booleanLiterals);
2402 int _la;
2403 try {
2404 enterOuterAlt(_localctx, 1);
2405 {
2406 setState(1148);
2407 _la = _input.LA(1);
2408 if ( !(_la==TRUE || _la==FALSE) ) {
2409 _errHandler.recoverInline(this);
2410 }
2411 else {
2412 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2413 _errHandler.reportMatch(this);
2414 consume();
2415 }
2416 }
2417 }
2418 catch (RecognitionException re) {
2419 _localctx.exception = re;
2420 _errHandler.reportError(this, re);
2421 _errHandler.recover(this, re);
2422 }
2423 finally {
2424 exitRule();
2425 }
2426 return _localctx;
2427 }
2428
2429 public static class NullValueLiteralsContext extends ParserRuleContext {
2430 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
2431 public NullValueLiteralsContext(ParserRuleContext parent, int invokingState) {
2432 super(parent, invokingState);
2433 }
2434 @Override public int getRuleIndex() { return RULE_nullValueLiterals; }
2435 @Override
2436 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2437 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNullValueLiterals(this);
2438 else return visitor.visitChildren(this);
2439 }
2440 }
2441
2442 public final NullValueLiteralsContext nullValueLiterals() throws RecognitionException {
2443 NullValueLiteralsContext _localctx = new NullValueLiteralsContext(_ctx, getState());
2444 enterRule(_localctx, 40, RULE_nullValueLiterals);
2445 try {
2446 enterOuterAlt(_localctx, 1);
2447 {
2448 setState(1150);
2449 match(NULL);
2450 }
2451 }
2452 catch (RecognitionException re) {
2453 _localctx.exception = re;
2454 _errHandler.reportError(this, re);
2455 _errHandler.recover(this, re);
2456 }
2457 finally {
2458 exitRule();
2459 }
2460 return _localctx;
2461 }
2462
2463 public static class IdentifierContext extends ParserRuleContext {
2464 public RegularIdentifierContext regularIdentifier() {
2465 return getRuleContext(RegularIdentifierContext.class,0);
2466 }
2467 public DelimitedIdentifierContext delimitedIdentifier() {
2468 return getRuleContext(DelimitedIdentifierContext.class,0);
2469 }
2470 public IdentifierContext(ParserRuleContext parent, int invokingState) {
2471 super(parent, invokingState);
2472 }
2473 @Override public int getRuleIndex() { return RULE_identifier; }
2474 @Override
2475 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2476 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIdentifier(this);
2477 else return visitor.visitChildren(this);
2478 }
2479 }
2480
2481 public final IdentifierContext identifier() throws RecognitionException {
2482 IdentifierContext _localctx = new IdentifierContext(_ctx, getState());
2483 enterRule(_localctx, 42, RULE_identifier);
2484 try {
2485 setState(1154);
2486 _errHandler.sync(this);
2487 switch (_input.LA(1)) {
2488 case TRUNCATE:
2489 case SCHEMA:
2490 case COLUMNS:
2491 case PRECISION:
2492 case FUNCTION:
2493 case TRIGGER:
2494 case CAST:
2495 case SUBSTRING:
2496 case OFF:
2497 case GROUP:
2498 case LIMIT:
2499 case OFFSET:
2500 case SAVEPOINT:
2501 case BOOLEAN:
2502 case ARRAY:
2503 case DATE:
2504 case LOCALTIME:
2505 case LOCALTIMESTAMP:
2506 case QUARTER:
2507 case WEEK:
2508 case DAY:
2509 case SECOND:
2510 case MICROSECOND:
2511 case MAX:
2512 case MIN:
2513 case SUM:
2514 case COUNT:
2515 case AVG:
2516 case ENABLE:
2517 case DISABLE:
2518 case INSTANCE:
2519 case DO:
2520 case DEFINER:
2521 case SQL:
2522 case CASCADED:
2523 case LOCAL:
2524 case NEXT:
2525 case NAME:
2526 case INTEGER:
2527 case TYPE:
2528 case TEXT:
2529 case VIEWS:
2530 case READ_ONLY:
2531 case DATABASE:
2532 case RETURNS:
2533 case DATEPART:
2534 case PASSWORD:
2535 case BINARY:
2536 case HIDDEN_:
2537 case MOD:
2538 case PARTITION:
2539 case PARTITIONS:
2540 case TOP:
2541 case ROW:
2542 case ROWS:
2543 case XOR:
2544 case ALWAYS:
2545 case ROLE:
2546 case START:
2547 case ALGORITHM:
2548 case AUTO:
2549 case BLOCKERS:
2550 case CLUSTERED:
2551 case NONCLUSTERED:
2552 case COLUMNSTORE:
2553 case CONTENT:
2554 case YEARS:
2555 case MONTHS:
2556 case WEEKS:
2557 case DAYS:
2558 case MINUTES:
2559 case DENY:
2560 case DETERMINISTIC:
2561 case DISTRIBUTION:
2562 case DOCUMENT:
2563 case DURABILITY:
2564 case ENCRYPTED:
2565 case FILESTREAM:
2566 case FILETABLE:
2567 case FILLFACTOR:
2568 case FOLLOWING:
2569 case HASH:
2570 case HEAP:
2571 case INBOUND:
2572 case OUTBOUND:
2573 case UNBOUNDED:
2574 case INFINITE:
2575 case LOGIN:
2576 case MASKED:
2577 case MAXDOP:
2578 case MOVE:
2579 case NOCHECK:
2580 case OBJECT:
2581 case ONLINE:
2582 case OVER:
2583 case PAGE:
2584 case PAUSED:
2585 case PERIOD:
2586 case PERSISTED:
2587 case PRECEDING:
2588 case RANDOMIZED:
2589 case RANGE:
2590 case REBUILD:
2591 case REPLICATE:
2592 case REPLICATION:
2593 case RESUMABLE:
2594 case ROWGUIDCOL:
2595 case SAVE:
2596 case SELF:
2597 case SPARSE:
2598 case SWITCH:
2599 case TRAN:
2600 case TRANCOUNT:
2601 case CONTROL:
2602 case CONCAT:
2603 case TAKE:
2604 case OWNERSHIP:
2605 case DEFINITION:
2606 case APPLICATION:
2607 case ASSEMBLY:
2608 case SYMMETRIC:
2609 case ASYMMETRIC:
2610 case SERVER:
2611 case RECEIVE:
2612 case CHANGE:
2613 case TRACE:
2614 case TRACKING:
2615 case RESOURCES:
2616 case SETTINGS:
2617 case STATE:
2618 case AVAILABILITY:
2619 case CREDENTIAL:
2620 case ENDPOINT:
2621 case EVENT:
2622 case NOTIFICATION:
2623 case LINKED:
2624 case AUDIT:
2625 case DDL:
2626 case XML:
2627 case IMPERSONATE:
2628 case SECURABLES:
2629 case AUTHENTICATE:
2630 case EXTERNAL:
2631 case ACCESS:
2632 case ADMINISTER:
2633 case BULK:
2634 case OPERATIONS:
2635 case UNSAFE:
2636 case SHUTDOWN:
2637 case SCOPED:
2638 case CONFIGURATION:
2639 case DATASPACE:
2640 case SERVICE:
2641 case CERTIFICATE:
2642 case CONTRACT:
2643 case ENCRYPTION:
2644 case MASTER:
2645 case DATA:
2646 case SOURCE:
2647 case FILE:
2648 case FORMAT:
2649 case LIBRARY:
2650 case FULLTEXT:
2651 case MASK:
2652 case UNMASK:
2653 case MESSAGE:
2654 case REMOTE:
2655 case BINDING:
2656 case ROUTE:
2657 case SECURITY:
2658 case POLICY:
2659 case AGGREGATE:
2660 case QUEUE:
2661 case RULE:
2662 case SYNONYM:
2663 case COLLECTION:
2664 case SCRIPT:
2665 case KILL:
2666 case BACKUP:
2667 case LOG:
2668 case SHOWPLAN:
2669 case SUBSCRIBE:
2670 case QUERY:
2671 case NOTIFICATIONS:
2672 case CHECKPOINT:
2673 case SEQUENCE:
2674 case ABORT_AFTER_WAIT:
2675 case ALLOW_PAGE_LOCKS:
2676 case ALLOW_ROW_LOCKS:
2677 case ALL_SPARSE_COLUMNS:
2678 case BUCKET_COUNT:
2679 case COLUMNSTORE_ARCHIVE:
2680 case COLUMN_ENCRYPTION_KEY:
2681 case COLUMN_SET:
2682 case COMPRESSION_DELAY:
2683 case DATABASE_DEAULT:
2684 case DATA_COMPRESSION:
2685 case DATA_CONSISTENCY_CHECK:
2686 case ENCRYPTION_TYPE:
2687 case SYSTEM_TIME:
2688 case SYSTEM_VERSIONING:
2689 case TEXTIMAGE_ON:
2690 case WAIT_AT_LOW_PRIORITY:
2691 case STATISTICS_INCREMENTAL:
2692 case STATISTICS_NORECOMPUTE:
2693 case ROUND_ROBIN:
2694 case SCHEMA_AND_DATA:
2695 case SCHEMA_ONLY:
2696 case SORT_IN_TEMPDB:
2697 case IGNORE_DUP_KEY:
2698 case IMPLICIT_TRANSACTIONS:
2699 case MAX_DURATION:
2700 case MEMORY_OPTIMIZED:
2701 case MIGRATION_STATE:
2702 case PAD_INDEX:
2703 case REMOTE_DATA_ARCHIVE:
2704 case FILESTREAM_ON:
2705 case FILETABLE_COLLATE_FILENAME:
2706 case FILETABLE_DIRECTORY:
2707 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
2708 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
2709 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
2710 case FILTER_PREDICATE:
2711 case HISTORY_RETENTION_PERIOD:
2712 case HISTORY_TABLE:
2713 case LOCK_ESCALATION:
2714 case DROP_EXISTING:
2715 case ROW_NUMBER:
2716 case FIRST:
2717 case DATETIME2:
2718 case OUTPUT:
2719 case INSERTED:
2720 case DELETED:
2721 case FILENAME:
2722 case MAXSIZE:
2723 case FILEGROWTH:
2724 case UNLIMITED:
2725 case KB:
2726 case MB:
2727 case GB:
2728 case TB:
2729 case MEMORY_OPTIMIZED_DATA:
2730 case FILEGROUP:
2731 case NON_TRANSACTED_ACCESS:
2732 case DB_CHAINING:
2733 case TRUSTWORTHY:
2734 case FORWARD_ONLY:
2735 case KEYSET:
2736 case FAST_FORWARD:
2737 case SCROLL_LOCKS:
2738 case OPTIMISTIC:
2739 case TYPE_WARNING:
2740 case SCHEMABINDING:
2741 case CALLER:
2742 case OWNER:
2743 case SNAPSHOT:
2744 case REPEATABLE:
2745 case SERIALIZABLE:
2746 case NATIVE_COMPILATION:
2747 case VIEW_METADATA:
2748 case INSTEAD:
2749 case APPEND:
2750 case INCREMENT:
2751 case CACHE:
2752 case MINVALUE:
2753 case MAXVALUE:
2754 case RESTART:
2755 case LOB_COMPACTION:
2756 case COMPRESS_ALL_ROW_GROUPS:
2757 case REORGANIZE:
2758 case RESUME:
2759 case PAUSE:
2760 case ABORT:
2761 case ACCELERATED_DATABASE_RECOVERY:
2762 case PERSISTENT_VERSION_STORE_FILEGROUP:
2763 case IMMEDIATE:
2764 case NO_WAIT:
2765 case TARGET_RECOVERY_TIME:
2766 case SECONDS:
2767 case HONOR_BROKER_PRIORITY:
2768 case ERROR_BROKER_CONVERSATIONS:
2769 case NEW_BROKER:
2770 case DISABLE_BROKER:
2771 case ENABLE_BROKER:
2772 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
2773 case READ_COMMITTED_SNAPSHOT:
2774 case ALLOW_SNAPSHOT_ISOLATION:
2775 case RECURSIVE_TRIGGERS:
2776 case QUOTED_IDENTIFIER:
2777 case NUMERIC_ROUNDABORT:
2778 case CONCAT_NULL_YIELDS_NULL:
2779 case COMPATIBILITY_LEVEL:
2780 case ARITHABORT:
2781 case ANSI_WARNINGS:
2782 case ANSI_PADDING:
2783 case ANSI_NULLS:
2784 case ANSI_NULL_DEFAULT:
2785 case PAGE_VERIFY:
2786 case CHECKSUM:
2787 case TORN_PAGE_DETECTION:
2788 case BULK_LOGGED:
2789 case RECOVERY:
2790 case TOTAL_EXECUTION_CPU_TIME_MS:
2791 case TOTAL_COMPILE_CPU_TIME_MS:
2792 case STALE_CAPTURE_POLICY_THRESHOLD:
2793 case EXECUTION_COUNT:
2794 case QUERY_CAPTURE_POLICY:
2795 case WAIT_STATS_CAPTURE_MODE:
2796 case MAX_PLANS_PER_QUERY:
2797 case QUERY_CAPTURE_MODE:
2798 case SIZE_BASED_CLEANUP_MODE:
2799 case INTERVAL_LENGTH_MINUTES:
2800 case MAX_STORAGE_SIZE_MB:
2801 case DATA_FLUSH_INTERVAL_SECONDS:
2802 case CLEANUP_POLICY:
2803 case CUSTOM:
2804 case STALE_QUERY_THRESHOLD_DAYS:
2805 case OPERATION_MODE:
2806 case QUERY_STORE:
2807 case CURSOR_DEFAULT:
2808 case GLOBAL:
2809 case CURSOR_CLOSE_ON_COMMIT:
2810 case HOURS:
2811 case CHANGE_RETENTION:
2812 case AUTO_CLEANUP:
2813 case CHANGE_TRACKING:
2814 case AUTOMATIC_TUNING:
2815 case FORCE_LAST_GOOD_PLAN:
2816 case AUTO_UPDATE_STATISTICS_ASYNC:
2817 case AUTO_UPDATE_STATISTICS:
2818 case AUTO_SHRINK:
2819 case AUTO_CREATE_STATISTICS:
2820 case INCREMENTAL:
2821 case AUTO_CLOSE:
2822 case DATA_RETENTION:
2823 case TEMPORAL_HISTORY_RETENTION:
2824 case EDITION:
2825 case MIXED_PAGE_ALLOCATION:
2826 case DISABLED:
2827 case ALLOWED:
2828 case HADR:
2829 case MULTI_USER:
2830 case RESTRICTED_USER:
2831 case SINGLE_USER:
2832 case OFFLINE:
2833 case EMERGENCY:
2834 case SUSPEND:
2835 case DATE_CORRELATION_OPTIMIZATION:
2836 case ELASTIC_POOL:
2837 case SERVICE_OBJECTIVE:
2838 case DATABASE_NAME:
2839 case ALLOW_CONNECTIONS:
2840 case GEO:
2841 case NAMED:
2842 case DATEFIRST:
2843 case BACKUP_STORAGE_REDUNDANCY:
2844 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
2845 case SECONDARY:
2846 case FAILOVER:
2847 case DEFAULT_FULLTEXT_LANGUAGE:
2848 case DEFAULT_LANGUAGE:
2849 case INLINE:
2850 case NESTED_TRIGGERS:
2851 case TRANSFORM_NOISE_WORDS:
2852 case TWO_DIGIT_YEAR_CUTOFF:
2853 case PERSISTENT_LOG_BUFFER:
2854 case DIRECTORY_NAME:
2855 case DATEFORMAT:
2856 case DELAYED_DURABILITY:
2857 case AUTHORIZATION:
2858 case TRANSFER:
2859 case PROVIDER:
2860 case SEARCH:
2861 case MEMBER:
2862 case IDENTIFIER_:
2863 enterOuterAlt(_localctx, 1);
2864 {
2865 setState(1152);
2866 regularIdentifier();
2867 }
2868 break;
2869 case DELIMITED_IDENTIFIER_:
2870 enterOuterAlt(_localctx, 2);
2871 {
2872 setState(1153);
2873 delimitedIdentifier();
2874 }
2875 break;
2876 default:
2877 throw new NoViableAltException(this);
2878 }
2879 }
2880 catch (RecognitionException re) {
2881 _localctx.exception = re;
2882 _errHandler.reportError(this, re);
2883 _errHandler.recover(this, re);
2884 }
2885 finally {
2886 exitRule();
2887 }
2888 return _localctx;
2889 }
2890
2891 public static class RegularIdentifierContext extends ParserRuleContext {
2892 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
2893 public UnreservedWordContext unreservedWord() {
2894 return getRuleContext(UnreservedWordContext.class,0);
2895 }
2896 public RegularIdentifierContext(ParserRuleContext parent, int invokingState) {
2897 super(parent, invokingState);
2898 }
2899 @Override public int getRuleIndex() { return RULE_regularIdentifier; }
2900 @Override
2901 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2902 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularIdentifier(this);
2903 else return visitor.visitChildren(this);
2904 }
2905 }
2906
2907 public final RegularIdentifierContext regularIdentifier() throws RecognitionException {
2908 RegularIdentifierContext _localctx = new RegularIdentifierContext(_ctx, getState());
2909 enterRule(_localctx, 44, RULE_regularIdentifier);
2910 try {
2911 setState(1158);
2912 _errHandler.sync(this);
2913 switch (_input.LA(1)) {
2914 case IDENTIFIER_:
2915 enterOuterAlt(_localctx, 1);
2916 {
2917 setState(1156);
2918 match(IDENTIFIER_);
2919 }
2920 break;
2921 case TRUNCATE:
2922 case SCHEMA:
2923 case COLUMNS:
2924 case PRECISION:
2925 case FUNCTION:
2926 case TRIGGER:
2927 case CAST:
2928 case SUBSTRING:
2929 case OFF:
2930 case GROUP:
2931 case LIMIT:
2932 case OFFSET:
2933 case SAVEPOINT:
2934 case BOOLEAN:
2935 case ARRAY:
2936 case DATE:
2937 case LOCALTIME:
2938 case LOCALTIMESTAMP:
2939 case QUARTER:
2940 case WEEK:
2941 case DAY:
2942 case SECOND:
2943 case MICROSECOND:
2944 case MAX:
2945 case MIN:
2946 case SUM:
2947 case COUNT:
2948 case AVG:
2949 case ENABLE:
2950 case DISABLE:
2951 case INSTANCE:
2952 case DO:
2953 case DEFINER:
2954 case SQL:
2955 case CASCADED:
2956 case LOCAL:
2957 case NEXT:
2958 case NAME:
2959 case INTEGER:
2960 case TYPE:
2961 case TEXT:
2962 case VIEWS:
2963 case READ_ONLY:
2964 case DATABASE:
2965 case RETURNS:
2966 case DATEPART:
2967 case PASSWORD:
2968 case BINARY:
2969 case HIDDEN_:
2970 case MOD:
2971 case PARTITION:
2972 case PARTITIONS:
2973 case TOP:
2974 case ROW:
2975 case ROWS:
2976 case XOR:
2977 case ALWAYS:
2978 case ROLE:
2979 case START:
2980 case ALGORITHM:
2981 case AUTO:
2982 case BLOCKERS:
2983 case CLUSTERED:
2984 case NONCLUSTERED:
2985 case COLUMNSTORE:
2986 case CONTENT:
2987 case YEARS:
2988 case MONTHS:
2989 case WEEKS:
2990 case DAYS:
2991 case MINUTES:
2992 case DENY:
2993 case DETERMINISTIC:
2994 case DISTRIBUTION:
2995 case DOCUMENT:
2996 case DURABILITY:
2997 case ENCRYPTED:
2998 case FILESTREAM:
2999 case FILETABLE:
3000 case FILLFACTOR:
3001 case FOLLOWING:
3002 case HASH:
3003 case HEAP:
3004 case INBOUND:
3005 case OUTBOUND:
3006 case UNBOUNDED:
3007 case INFINITE:
3008 case LOGIN:
3009 case MASKED:
3010 case MAXDOP:
3011 case MOVE:
3012 case NOCHECK:
3013 case OBJECT:
3014 case ONLINE:
3015 case OVER:
3016 case PAGE:
3017 case PAUSED:
3018 case PERIOD:
3019 case PERSISTED:
3020 case PRECEDING:
3021 case RANDOMIZED:
3022 case RANGE:
3023 case REBUILD:
3024 case REPLICATE:
3025 case REPLICATION:
3026 case RESUMABLE:
3027 case ROWGUIDCOL:
3028 case SAVE:
3029 case SELF:
3030 case SPARSE:
3031 case SWITCH:
3032 case TRAN:
3033 case TRANCOUNT:
3034 case CONTROL:
3035 case CONCAT:
3036 case TAKE:
3037 case OWNERSHIP:
3038 case DEFINITION:
3039 case APPLICATION:
3040 case ASSEMBLY:
3041 case SYMMETRIC:
3042 case ASYMMETRIC:
3043 case SERVER:
3044 case RECEIVE:
3045 case CHANGE:
3046 case TRACE:
3047 case TRACKING:
3048 case RESOURCES:
3049 case SETTINGS:
3050 case STATE:
3051 case AVAILABILITY:
3052 case CREDENTIAL:
3053 case ENDPOINT:
3054 case EVENT:
3055 case NOTIFICATION:
3056 case LINKED:
3057 case AUDIT:
3058 case DDL:
3059 case XML:
3060 case IMPERSONATE:
3061 case SECURABLES:
3062 case AUTHENTICATE:
3063 case EXTERNAL:
3064 case ACCESS:
3065 case ADMINISTER:
3066 case BULK:
3067 case OPERATIONS:
3068 case UNSAFE:
3069 case SHUTDOWN:
3070 case SCOPED:
3071 case CONFIGURATION:
3072 case DATASPACE:
3073 case SERVICE:
3074 case CERTIFICATE:
3075 case CONTRACT:
3076 case ENCRYPTION:
3077 case MASTER:
3078 case DATA:
3079 case SOURCE:
3080 case FILE:
3081 case FORMAT:
3082 case LIBRARY:
3083 case FULLTEXT:
3084 case MASK:
3085 case UNMASK:
3086 case MESSAGE:
3087 case REMOTE:
3088 case BINDING:
3089 case ROUTE:
3090 case SECURITY:
3091 case POLICY:
3092 case AGGREGATE:
3093 case QUEUE:
3094 case RULE:
3095 case SYNONYM:
3096 case COLLECTION:
3097 case SCRIPT:
3098 case KILL:
3099 case BACKUP:
3100 case LOG:
3101 case SHOWPLAN:
3102 case SUBSCRIBE:
3103 case QUERY:
3104 case NOTIFICATIONS:
3105 case CHECKPOINT:
3106 case SEQUENCE:
3107 case ABORT_AFTER_WAIT:
3108 case ALLOW_PAGE_LOCKS:
3109 case ALLOW_ROW_LOCKS:
3110 case ALL_SPARSE_COLUMNS:
3111 case BUCKET_COUNT:
3112 case COLUMNSTORE_ARCHIVE:
3113 case COLUMN_ENCRYPTION_KEY:
3114 case COLUMN_SET:
3115 case COMPRESSION_DELAY:
3116 case DATABASE_DEAULT:
3117 case DATA_COMPRESSION:
3118 case DATA_CONSISTENCY_CHECK:
3119 case ENCRYPTION_TYPE:
3120 case SYSTEM_TIME:
3121 case SYSTEM_VERSIONING:
3122 case TEXTIMAGE_ON:
3123 case WAIT_AT_LOW_PRIORITY:
3124 case STATISTICS_INCREMENTAL:
3125 case STATISTICS_NORECOMPUTE:
3126 case ROUND_ROBIN:
3127 case SCHEMA_AND_DATA:
3128 case SCHEMA_ONLY:
3129 case SORT_IN_TEMPDB:
3130 case IGNORE_DUP_KEY:
3131 case IMPLICIT_TRANSACTIONS:
3132 case MAX_DURATION:
3133 case MEMORY_OPTIMIZED:
3134 case MIGRATION_STATE:
3135 case PAD_INDEX:
3136 case REMOTE_DATA_ARCHIVE:
3137 case FILESTREAM_ON:
3138 case FILETABLE_COLLATE_FILENAME:
3139 case FILETABLE_DIRECTORY:
3140 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
3141 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
3142 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
3143 case FILTER_PREDICATE:
3144 case HISTORY_RETENTION_PERIOD:
3145 case HISTORY_TABLE:
3146 case LOCK_ESCALATION:
3147 case DROP_EXISTING:
3148 case ROW_NUMBER:
3149 case FIRST:
3150 case DATETIME2:
3151 case OUTPUT:
3152 case INSERTED:
3153 case DELETED:
3154 case FILENAME:
3155 case MAXSIZE:
3156 case FILEGROWTH:
3157 case UNLIMITED:
3158 case KB:
3159 case MB:
3160 case GB:
3161 case TB:
3162 case MEMORY_OPTIMIZED_DATA:
3163 case FILEGROUP:
3164 case NON_TRANSACTED_ACCESS:
3165 case DB_CHAINING:
3166 case TRUSTWORTHY:
3167 case FORWARD_ONLY:
3168 case KEYSET:
3169 case FAST_FORWARD:
3170 case SCROLL_LOCKS:
3171 case OPTIMISTIC:
3172 case TYPE_WARNING:
3173 case SCHEMABINDING:
3174 case CALLER:
3175 case OWNER:
3176 case SNAPSHOT:
3177 case REPEATABLE:
3178 case SERIALIZABLE:
3179 case NATIVE_COMPILATION:
3180 case VIEW_METADATA:
3181 case INSTEAD:
3182 case APPEND:
3183 case INCREMENT:
3184 case CACHE:
3185 case MINVALUE:
3186 case MAXVALUE:
3187 case RESTART:
3188 case LOB_COMPACTION:
3189 case COMPRESS_ALL_ROW_GROUPS:
3190 case REORGANIZE:
3191 case RESUME:
3192 case PAUSE:
3193 case ABORT:
3194 case ACCELERATED_DATABASE_RECOVERY:
3195 case PERSISTENT_VERSION_STORE_FILEGROUP:
3196 case IMMEDIATE:
3197 case NO_WAIT:
3198 case TARGET_RECOVERY_TIME:
3199 case SECONDS:
3200 case HONOR_BROKER_PRIORITY:
3201 case ERROR_BROKER_CONVERSATIONS:
3202 case NEW_BROKER:
3203 case DISABLE_BROKER:
3204 case ENABLE_BROKER:
3205 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
3206 case READ_COMMITTED_SNAPSHOT:
3207 case ALLOW_SNAPSHOT_ISOLATION:
3208 case RECURSIVE_TRIGGERS:
3209 case QUOTED_IDENTIFIER:
3210 case NUMERIC_ROUNDABORT:
3211 case CONCAT_NULL_YIELDS_NULL:
3212 case COMPATIBILITY_LEVEL:
3213 case ARITHABORT:
3214 case ANSI_WARNINGS:
3215 case ANSI_PADDING:
3216 case ANSI_NULLS:
3217 case ANSI_NULL_DEFAULT:
3218 case PAGE_VERIFY:
3219 case CHECKSUM:
3220 case TORN_PAGE_DETECTION:
3221 case BULK_LOGGED:
3222 case RECOVERY:
3223 case TOTAL_EXECUTION_CPU_TIME_MS:
3224 case TOTAL_COMPILE_CPU_TIME_MS:
3225 case STALE_CAPTURE_POLICY_THRESHOLD:
3226 case EXECUTION_COUNT:
3227 case QUERY_CAPTURE_POLICY:
3228 case WAIT_STATS_CAPTURE_MODE:
3229 case MAX_PLANS_PER_QUERY:
3230 case QUERY_CAPTURE_MODE:
3231 case SIZE_BASED_CLEANUP_MODE:
3232 case INTERVAL_LENGTH_MINUTES:
3233 case MAX_STORAGE_SIZE_MB:
3234 case DATA_FLUSH_INTERVAL_SECONDS:
3235 case CLEANUP_POLICY:
3236 case CUSTOM:
3237 case STALE_QUERY_THRESHOLD_DAYS:
3238 case OPERATION_MODE:
3239 case QUERY_STORE:
3240 case CURSOR_DEFAULT:
3241 case GLOBAL:
3242 case CURSOR_CLOSE_ON_COMMIT:
3243 case HOURS:
3244 case CHANGE_RETENTION:
3245 case AUTO_CLEANUP:
3246 case CHANGE_TRACKING:
3247 case AUTOMATIC_TUNING:
3248 case FORCE_LAST_GOOD_PLAN:
3249 case AUTO_UPDATE_STATISTICS_ASYNC:
3250 case AUTO_UPDATE_STATISTICS:
3251 case AUTO_SHRINK:
3252 case AUTO_CREATE_STATISTICS:
3253 case INCREMENTAL:
3254 case AUTO_CLOSE:
3255 case DATA_RETENTION:
3256 case TEMPORAL_HISTORY_RETENTION:
3257 case EDITION:
3258 case MIXED_PAGE_ALLOCATION:
3259 case DISABLED:
3260 case ALLOWED:
3261 case HADR:
3262 case MULTI_USER:
3263 case RESTRICTED_USER:
3264 case SINGLE_USER:
3265 case OFFLINE:
3266 case EMERGENCY:
3267 case SUSPEND:
3268 case DATE_CORRELATION_OPTIMIZATION:
3269 case ELASTIC_POOL:
3270 case SERVICE_OBJECTIVE:
3271 case DATABASE_NAME:
3272 case ALLOW_CONNECTIONS:
3273 case GEO:
3274 case NAMED:
3275 case DATEFIRST:
3276 case BACKUP_STORAGE_REDUNDANCY:
3277 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
3278 case SECONDARY:
3279 case FAILOVER:
3280 case DEFAULT_FULLTEXT_LANGUAGE:
3281 case DEFAULT_LANGUAGE:
3282 case INLINE:
3283 case NESTED_TRIGGERS:
3284 case TRANSFORM_NOISE_WORDS:
3285 case TWO_DIGIT_YEAR_CUTOFF:
3286 case PERSISTENT_LOG_BUFFER:
3287 case DIRECTORY_NAME:
3288 case DATEFORMAT:
3289 case DELAYED_DURABILITY:
3290 case AUTHORIZATION:
3291 case TRANSFER:
3292 case PROVIDER:
3293 case SEARCH:
3294 case MEMBER:
3295 enterOuterAlt(_localctx, 2);
3296 {
3297 setState(1157);
3298 unreservedWord();
3299 }
3300 break;
3301 default:
3302 throw new NoViableAltException(this);
3303 }
3304 }
3305 catch (RecognitionException re) {
3306 _localctx.exception = re;
3307 _errHandler.reportError(this, re);
3308 _errHandler.recover(this, re);
3309 }
3310 finally {
3311 exitRule();
3312 }
3313 return _localctx;
3314 }
3315
3316 public static class DelimitedIdentifierContext extends ParserRuleContext {
3317 public TerminalNode DELIMITED_IDENTIFIER_() { return getToken(SQLServerStatementParser.DELIMITED_IDENTIFIER_, 0); }
3318 public DelimitedIdentifierContext(ParserRuleContext parent, int invokingState) {
3319 super(parent, invokingState);
3320 }
3321 @Override public int getRuleIndex() { return RULE_delimitedIdentifier; }
3322 @Override
3323 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3324 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDelimitedIdentifier(this);
3325 else return visitor.visitChildren(this);
3326 }
3327 }
3328
3329 public final DelimitedIdentifierContext delimitedIdentifier() throws RecognitionException {
3330 DelimitedIdentifierContext _localctx = new DelimitedIdentifierContext(_ctx, getState());
3331 enterRule(_localctx, 46, RULE_delimitedIdentifier);
3332 try {
3333 enterOuterAlt(_localctx, 1);
3334 {
3335 setState(1160);
3336 match(DELIMITED_IDENTIFIER_);
3337 }
3338 }
3339 catch (RecognitionException re) {
3340 _localctx.exception = re;
3341 _errHandler.reportError(this, re);
3342 _errHandler.recover(this, re);
3343 }
3344 finally {
3345 exitRule();
3346 }
3347 return _localctx;
3348 }
3349
3350 public static class UnreservedWordContext extends ParserRuleContext {
3351 public TerminalNode TRUNCATE() { return getToken(SQLServerStatementParser.TRUNCATE, 0); }
3352 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
3353 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
3354 public TerminalNode LIMIT() { return getToken(SQLServerStatementParser.LIMIT, 0); }
3355 public TerminalNode OFFSET() { return getToken(SQLServerStatementParser.OFFSET, 0); }
3356 public TerminalNode SAVEPOINT() { return getToken(SQLServerStatementParser.SAVEPOINT, 0); }
3357 public TerminalNode BOOLEAN() { return getToken(SQLServerStatementParser.BOOLEAN, 0); }
3358 public TerminalNode ARRAY() { return getToken(SQLServerStatementParser.ARRAY, 0); }
3359 public TerminalNode LOCALTIME() { return getToken(SQLServerStatementParser.LOCALTIME, 0); }
3360 public TerminalNode LOCALTIMESTAMP() { return getToken(SQLServerStatementParser.LOCALTIMESTAMP, 0); }
3361 public TerminalNode QUARTER() { return getToken(SQLServerStatementParser.QUARTER, 0); }
3362 public TerminalNode WEEK() { return getToken(SQLServerStatementParser.WEEK, 0); }
3363 public TerminalNode MICROSECOND() { return getToken(SQLServerStatementParser.MICROSECOND, 0); }
3364 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
3365 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
3366 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
3367 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
3368 public TerminalNode MOD() { return getToken(SQLServerStatementParser.MOD, 0); }
3369 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
3370 public TerminalNode TOP() { return getToken(SQLServerStatementParser.TOP, 0); }
3371 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
3372 public TerminalNode XOR() { return getToken(SQLServerStatementParser.XOR, 0); }
3373 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
3374 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
3375 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
3376 public TerminalNode ALGORITHM() { return getToken(SQLServerStatementParser.ALGORITHM, 0); }
3377 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
3378 public TerminalNode BLOCKERS() { return getToken(SQLServerStatementParser.BLOCKERS, 0); }
3379 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
3380 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
3381 public TerminalNode CONTENT() { return getToken(SQLServerStatementParser.CONTENT, 0); }
3382 public TerminalNode CONCAT() { return getToken(SQLServerStatementParser.CONCAT, 0); }
3383 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
3384 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
3385 public TerminalNode DENY() { return getToken(SQLServerStatementParser.DENY, 0); }
3386 public TerminalNode DETERMINISTIC() { return getToken(SQLServerStatementParser.DETERMINISTIC, 0); }
3387 public TerminalNode DISTRIBUTION() { return getToken(SQLServerStatementParser.DISTRIBUTION, 0); }
3388 public TerminalNode DOCUMENT() { return getToken(SQLServerStatementParser.DOCUMENT, 0); }
3389 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
3390 public TerminalNode ENCRYPTED() { return getToken(SQLServerStatementParser.ENCRYPTED, 0); }
3391 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
3392 public TerminalNode FILETABLE() { return getToken(SQLServerStatementParser.FILETABLE, 0); }
3393 public TerminalNode FOLLOWING() { return getToken(SQLServerStatementParser.FOLLOWING, 0); }
3394 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
3395 public TerminalNode HEAP() { return getToken(SQLServerStatementParser.HEAP, 0); }
3396 public TerminalNode INBOUND() { return getToken(SQLServerStatementParser.INBOUND, 0); }
3397 public TerminalNode INFINITE() { return getToken(SQLServerStatementParser.INFINITE, 0); }
3398 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
3399 public TerminalNode MASKED() { return getToken(SQLServerStatementParser.MASKED, 0); }
3400 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
3401 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
3402 public TerminalNode MONTHS() { return getToken(SQLServerStatementParser.MONTHS, 0); }
3403 public TerminalNode MOVE() { return getToken(SQLServerStatementParser.MOVE, 0); }
3404 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
3405 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
3406 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
3407 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
3408 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
3409 public TerminalNode OUTBOUND() { return getToken(SQLServerStatementParser.OUTBOUND, 0); }
3410 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
3411 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
3412 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
3413 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
3414 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
3415 public TerminalNode PERSISTED() { return getToken(SQLServerStatementParser.PERSISTED, 0); }
3416 public TerminalNode PRECEDING() { return getToken(SQLServerStatementParser.PRECEDING, 0); }
3417 public TerminalNode RANDOMIZED() { return getToken(SQLServerStatementParser.RANDOMIZED, 0); }
3418 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
3419 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
3420 public TerminalNode REPLICATE() { return getToken(SQLServerStatementParser.REPLICATE, 0); }
3421 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
3422 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
3423 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
3424 public TerminalNode SAVE() { return getToken(SQLServerStatementParser.SAVE, 0); }
3425 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
3426 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
3427 public TerminalNode SWITCH() { return getToken(SQLServerStatementParser.SWITCH, 0); }
3428 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
3429 public TerminalNode TRANCOUNT() { return getToken(SQLServerStatementParser.TRANCOUNT, 0); }
3430 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
3431 public TerminalNode YEARS() { return getToken(SQLServerStatementParser.YEARS, 0); }
3432 public TerminalNode WEEKS() { return getToken(SQLServerStatementParser.WEEKS, 0); }
3433 public TerminalNode ABORT_AFTER_WAIT() { return getToken(SQLServerStatementParser.ABORT_AFTER_WAIT, 0); }
3434 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
3435 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
3436 public TerminalNode ALL_SPARSE_COLUMNS() { return getToken(SQLServerStatementParser.ALL_SPARSE_COLUMNS, 0); }
3437 public TerminalNode BUCKET_COUNT() { return getToken(SQLServerStatementParser.BUCKET_COUNT, 0); }
3438 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
3439 public TerminalNode COLUMN_ENCRYPTION_KEY() { return getToken(SQLServerStatementParser.COLUMN_ENCRYPTION_KEY, 0); }
3440 public TerminalNode COLUMN_SET() { return getToken(SQLServerStatementParser.COLUMN_SET, 0); }
3441 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
3442 public TerminalNode DATABASE_DEAULT() { return getToken(SQLServerStatementParser.DATABASE_DEAULT, 0); }
3443 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
3444 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
3445 public TerminalNode ENCRYPTION_TYPE() { return getToken(SQLServerStatementParser.ENCRYPTION_TYPE, 0); }
3446 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
3447 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
3448 public TerminalNode TEXTIMAGE_ON() { return getToken(SQLServerStatementParser.TEXTIMAGE_ON, 0); }
3449 public TerminalNode WAIT_AT_LOW_PRIORITY() { return getToken(SQLServerStatementParser.WAIT_AT_LOW_PRIORITY, 0); }
3450 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
3451 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
3452 public TerminalNode ROUND_ROBIN() { return getToken(SQLServerStatementParser.ROUND_ROBIN, 0); }
3453 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
3454 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
3455 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
3456 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
3457 public TerminalNode IMPLICIT_TRANSACTIONS() { return getToken(SQLServerStatementParser.IMPLICIT_TRANSACTIONS, 0); }
3458 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
3459 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
3460 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
3461 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
3462 public TerminalNode REMOTE_DATA_ARCHIVE() { return getToken(SQLServerStatementParser.REMOTE_DATA_ARCHIVE, 0); }
3463 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
3464 public TerminalNode FILETABLE_COLLATE_FILENAME() { return getToken(SQLServerStatementParser.FILETABLE_COLLATE_FILENAME, 0); }
3465 public TerminalNode FILETABLE_DIRECTORY() { return getToken(SQLServerStatementParser.FILETABLE_DIRECTORY, 0); }
3466 public TerminalNode FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME, 0); }
3467 public TerminalNode FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME, 0); }
3468 public TerminalNode FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME, 0); }
3469 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
3470 public TerminalNode FILTER_PREDICATE() { return getToken(SQLServerStatementParser.FILTER_PREDICATE, 0); }
3471 public TerminalNode HISTORY_RETENTION_PERIOD() { return getToken(SQLServerStatementParser.HISTORY_RETENTION_PERIOD, 0); }
3472 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
3473 public TerminalNode LOCK_ESCALATION() { return getToken(SQLServerStatementParser.LOCK_ESCALATION, 0); }
3474 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
3475 public TerminalNode ROW_NUMBER() { return getToken(SQLServerStatementParser.ROW_NUMBER, 0); }
3476 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
3477 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
3478 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
3479 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
3480 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
3481 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
3482 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
3483 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
3484 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
3485 public TerminalNode RECEIVE() { return getToken(SQLServerStatementParser.RECEIVE, 0); }
3486 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
3487 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
3488 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
3489 public TerminalNode RESOURCES() { return getToken(SQLServerStatementParser.RESOURCES, 0); }
3490 public TerminalNode SETTINGS() { return getToken(SQLServerStatementParser.SETTINGS, 0); }
3491 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
3492 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
3493 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
3494 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
3495 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
3496 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
3497 public TerminalNode LINKED() { return getToken(SQLServerStatementParser.LINKED, 0); }
3498 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
3499 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
3500 public TerminalNode SQL() { return getToken(SQLServerStatementParser.SQL, 0); }
3501 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
3502 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
3503 public TerminalNode SECURABLES() { return getToken(SQLServerStatementParser.SECURABLES, 0); }
3504 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
3505 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
3506 public TerminalNode ACCESS() { return getToken(SQLServerStatementParser.ACCESS, 0); }
3507 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
3508 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
3509 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
3510 public TerminalNode UNSAFE() { return getToken(SQLServerStatementParser.UNSAFE, 0); }
3511 public TerminalNode SHUTDOWN() { return getToken(SQLServerStatementParser.SHUTDOWN, 0); }
3512 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
3513 public TerminalNode CONFIGURATION() { return getToken(SQLServerStatementParser.CONFIGURATION, 0); }
3514 public TerminalNode DATASPACE() { return getToken(SQLServerStatementParser.DATASPACE, 0); }
3515 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
3516 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
3517 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
3518 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
3519 public TerminalNode MASTER() { return getToken(SQLServerStatementParser.MASTER, 0); }
3520 public TerminalNode DATA() { return getToken(SQLServerStatementParser.DATA, 0); }
3521 public TerminalNode SOURCE() { return getToken(SQLServerStatementParser.SOURCE, 0); }
3522 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
3523 public TerminalNode FORMAT() { return getToken(SQLServerStatementParser.FORMAT, 0); }
3524 public TerminalNode LIBRARY() { return getToken(SQLServerStatementParser.LIBRARY, 0); }
3525 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
3526 public TerminalNode MASK() { return getToken(SQLServerStatementParser.MASK, 0); }
3527 public TerminalNode UNMASK() { return getToken(SQLServerStatementParser.UNMASK, 0); }
3528 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
3529 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
3530 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
3531 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
3532 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
3533 public TerminalNode SECURITY() { return getToken(SQLServerStatementParser.SECURITY, 0); }
3534 public TerminalNode POLICY() { return getToken(SQLServerStatementParser.POLICY, 0); }
3535 public TerminalNode AGGREGATE() { return getToken(SQLServerStatementParser.AGGREGATE, 0); }
3536 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
3537 public TerminalNode RULE() { return getToken(SQLServerStatementParser.RULE, 0); }
3538 public TerminalNode SYNONYM() { return getToken(SQLServerStatementParser.SYNONYM, 0); }
3539 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
3540 public TerminalNode SCRIPT() { return getToken(SQLServerStatementParser.SCRIPT, 0); }
3541 public TerminalNode KILL() { return getToken(SQLServerStatementParser.KILL, 0); }
3542 public TerminalNode BACKUP() { return getToken(SQLServerStatementParser.BACKUP, 0); }
3543 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
3544 public TerminalNode SHOWPLAN() { return getToken(SQLServerStatementParser.SHOWPLAN, 0); }
3545 public TerminalNode SUBSCRIBE() { return getToken(SQLServerStatementParser.SUBSCRIBE, 0); }
3546 public TerminalNode QUERY() { return getToken(SQLServerStatementParser.QUERY, 0); }
3547 public TerminalNode NOTIFICATIONS() { return getToken(SQLServerStatementParser.NOTIFICATIONS, 0); }
3548 public TerminalNode CHECKPOINT() { return getToken(SQLServerStatementParser.CHECKPOINT, 0); }
3549 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
3550 public TerminalNode INSTANCE() { return getToken(SQLServerStatementParser.INSTANCE, 0); }
3551 public TerminalNode DO() { return getToken(SQLServerStatementParser.DO, 0); }
3552 public TerminalNode DEFINER() { return getToken(SQLServerStatementParser.DEFINER, 0); }
3553 public TerminalNode LOCAL() { return getToken(SQLServerStatementParser.LOCAL, 0); }
3554 public TerminalNode CASCADED() { return getToken(SQLServerStatementParser.CASCADED, 0); }
3555 public TerminalNode NEXT() { return getToken(SQLServerStatementParser.NEXT, 0); }
3556 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
3557 public TerminalNode INTEGER() { return getToken(SQLServerStatementParser.INTEGER, 0); }
3558 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
3559 public TerminalNode MIN() { return getToken(SQLServerStatementParser.MIN, 0); }
3560 public TerminalNode SUM() { return getToken(SQLServerStatementParser.SUM, 0); }
3561 public TerminalNode COUNT() { return getToken(SQLServerStatementParser.COUNT, 0); }
3562 public TerminalNode AVG() { return getToken(SQLServerStatementParser.AVG, 0); }
3563 public TerminalNode FIRST() { return getToken(SQLServerStatementParser.FIRST, 0); }
3564 public TerminalNode DATETIME2() { return getToken(SQLServerStatementParser.DATETIME2, 0); }
3565 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
3566 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
3567 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
3568 public TerminalNode KB() { return getToken(SQLServerStatementParser.KB, 0); }
3569 public TerminalNode MB() { return getToken(SQLServerStatementParser.MB, 0); }
3570 public TerminalNode GB() { return getToken(SQLServerStatementParser.GB, 0); }
3571 public TerminalNode TB() { return getToken(SQLServerStatementParser.TB, 0); }
3572 public TerminalNode FILENAME() { return getToken(SQLServerStatementParser.FILENAME, 0); }
3573 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
3574 public TerminalNode FILEGROWTH() { return getToken(SQLServerStatementParser.FILEGROWTH, 0); }
3575 public TerminalNode UNLIMITED() { return getToken(SQLServerStatementParser.UNLIMITED, 0); }
3576 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
3577 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
3578 public TerminalNode NON_TRANSACTED_ACCESS() { return getToken(SQLServerStatementParser.NON_TRANSACTED_ACCESS, 0); }
3579 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
3580 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
3581 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
3582 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
3583 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
3584 public TerminalNode DATEPART() { return getToken(SQLServerStatementParser.DATEPART, 0); }
3585 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
3586 public TerminalNode DAY() { return getToken(SQLServerStatementParser.DAY, 0); }
3587 public TerminalNode FORWARD_ONLY() { return getToken(SQLServerStatementParser.FORWARD_ONLY, 0); }
3588 public TerminalNode KEYSET() { return getToken(SQLServerStatementParser.KEYSET, 0); }
3589 public TerminalNode FAST_FORWARD() { return getToken(SQLServerStatementParser.FAST_FORWARD, 0); }
3590 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
3591 public TerminalNode SCROLL_LOCKS() { return getToken(SQLServerStatementParser.SCROLL_LOCKS, 0); }
3592 public TerminalNode OPTIMISTIC() { return getToken(SQLServerStatementParser.OPTIMISTIC, 0); }
3593 public TerminalNode TYPE_WARNING() { return getToken(SQLServerStatementParser.TYPE_WARNING, 0); }
3594 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
3595 public TerminalNode CALLER() { return getToken(SQLServerStatementParser.CALLER, 0); }
3596 public TerminalNode OWNER() { return getToken(SQLServerStatementParser.OWNER, 0); }
3597 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
3598 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
3599 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
3600 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
3601 public TerminalNode VIEW_METADATA() { return getToken(SQLServerStatementParser.VIEW_METADATA, 0); }
3602 public TerminalNode INSTEAD() { return getToken(SQLServerStatementParser.INSTEAD, 0); }
3603 public TerminalNode APPEND() { return getToken(SQLServerStatementParser.APPEND, 0); }
3604 public TerminalNode INCREMENT() { return getToken(SQLServerStatementParser.INCREMENT, 0); }
3605 public TerminalNode CACHE() { return getToken(SQLServerStatementParser.CACHE, 0); }
3606 public TerminalNode MINVALUE() { return getToken(SQLServerStatementParser.MINVALUE, 0); }
3607 public TerminalNode MAXVALUE() { return getToken(SQLServerStatementParser.MAXVALUE, 0); }
3608 public TerminalNode RESTART() { return getToken(SQLServerStatementParser.RESTART, 0); }
3609 public TerminalNode LOB_COMPACTION() { return getToken(SQLServerStatementParser.LOB_COMPACTION, 0); }
3610 public TerminalNode COMPRESS_ALL_ROW_GROUPS() { return getToken(SQLServerStatementParser.COMPRESS_ALL_ROW_GROUPS, 0); }
3611 public TerminalNode REORGANIZE() { return getToken(SQLServerStatementParser.REORGANIZE, 0); }
3612 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
3613 public TerminalNode PAUSE() { return getToken(SQLServerStatementParser.PAUSE, 0); }
3614 public TerminalNode ABORT() { return getToken(SQLServerStatementParser.ABORT, 0); }
3615 public TerminalNode ACCELERATED_DATABASE_RECOVERY() { return getToken(SQLServerStatementParser.ACCELERATED_DATABASE_RECOVERY, 0); }
3616 public TerminalNode PERSISTENT_VERSION_STORE_FILEGROUP() { return getToken(SQLServerStatementParser.PERSISTENT_VERSION_STORE_FILEGROUP, 0); }
3617 public TerminalNode IMMEDIATE() { return getToken(SQLServerStatementParser.IMMEDIATE, 0); }
3618 public TerminalNode NO_WAIT() { return getToken(SQLServerStatementParser.NO_WAIT, 0); }
3619 public TerminalNode TARGET_RECOVERY_TIME() { return getToken(SQLServerStatementParser.TARGET_RECOVERY_TIME, 0); }
3620 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
3621 public TerminalNode HONOR_BROKER_PRIORITY() { return getToken(SQLServerStatementParser.HONOR_BROKER_PRIORITY, 0); }
3622 public TerminalNode ERROR_BROKER_CONVERSATIONS() { return getToken(SQLServerStatementParser.ERROR_BROKER_CONVERSATIONS, 0); }
3623 public TerminalNode NEW_BROKER() { return getToken(SQLServerStatementParser.NEW_BROKER, 0); }
3624 public TerminalNode DISABLE_BROKER() { return getToken(SQLServerStatementParser.DISABLE_BROKER, 0); }
3625 public TerminalNode ENABLE_BROKER() { return getToken(SQLServerStatementParser.ENABLE_BROKER, 0); }
3626 public TerminalNode MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT, 0); }
3627 public TerminalNode READ_COMMITTED_SNAPSHOT() { return getToken(SQLServerStatementParser.READ_COMMITTED_SNAPSHOT, 0); }
3628 public TerminalNode ALLOW_SNAPSHOT_ISOLATION() { return getToken(SQLServerStatementParser.ALLOW_SNAPSHOT_ISOLATION, 0); }
3629 public TerminalNode RECURSIVE_TRIGGERS() { return getToken(SQLServerStatementParser.RECURSIVE_TRIGGERS, 0); }
3630 public TerminalNode QUOTED_IDENTIFIER() { return getToken(SQLServerStatementParser.QUOTED_IDENTIFIER, 0); }
3631 public TerminalNode NUMERIC_ROUNDABORT() { return getToken(SQLServerStatementParser.NUMERIC_ROUNDABORT, 0); }
3632 public TerminalNode CONCAT_NULL_YIELDS_NULL() { return getToken(SQLServerStatementParser.CONCAT_NULL_YIELDS_NULL, 0); }
3633 public TerminalNode COMPATIBILITY_LEVEL() { return getToken(SQLServerStatementParser.COMPATIBILITY_LEVEL, 0); }
3634 public TerminalNode ARITHABORT() { return getToken(SQLServerStatementParser.ARITHABORT, 0); }
3635 public TerminalNode ANSI_WARNINGS() { return getToken(SQLServerStatementParser.ANSI_WARNINGS, 0); }
3636 public TerminalNode ANSI_PADDING() { return getToken(SQLServerStatementParser.ANSI_PADDING, 0); }
3637 public TerminalNode ANSI_NULLS() { return getToken(SQLServerStatementParser.ANSI_NULLS, 0); }
3638 public TerminalNode ANSI_NULL_DEFAULT() { return getToken(SQLServerStatementParser.ANSI_NULL_DEFAULT, 0); }
3639 public TerminalNode PAGE_VERIFY() { return getToken(SQLServerStatementParser.PAGE_VERIFY, 0); }
3640 public TerminalNode CHECKSUM() { return getToken(SQLServerStatementParser.CHECKSUM, 0); }
3641 public TerminalNode TORN_PAGE_DETECTION() { return getToken(SQLServerStatementParser.TORN_PAGE_DETECTION, 0); }
3642 public TerminalNode BULK_LOGGED() { return getToken(SQLServerStatementParser.BULK_LOGGED, 0); }
3643 public TerminalNode RECOVERY() { return getToken(SQLServerStatementParser.RECOVERY, 0); }
3644 public TerminalNode TOTAL_EXECUTION_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_EXECUTION_CPU_TIME_MS, 0); }
3645 public TerminalNode TOTAL_COMPILE_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_COMPILE_CPU_TIME_MS, 0); }
3646 public TerminalNode STALE_CAPTURE_POLICY_THRESHOLD() { return getToken(SQLServerStatementParser.STALE_CAPTURE_POLICY_THRESHOLD, 0); }
3647 public TerminalNode EXECUTION_COUNT() { return getToken(SQLServerStatementParser.EXECUTION_COUNT, 0); }
3648 public TerminalNode QUERY_CAPTURE_POLICY() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_POLICY, 0); }
3649 public TerminalNode WAIT_STATS_CAPTURE_MODE() { return getToken(SQLServerStatementParser.WAIT_STATS_CAPTURE_MODE, 0); }
3650 public TerminalNode MAX_PLANS_PER_QUERY() { return getToken(SQLServerStatementParser.MAX_PLANS_PER_QUERY, 0); }
3651 public TerminalNode QUERY_CAPTURE_MODE() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_MODE, 0); }
3652 public TerminalNode SIZE_BASED_CLEANUP_MODE() { return getToken(SQLServerStatementParser.SIZE_BASED_CLEANUP_MODE, 0); }
3653 public TerminalNode INTERVAL_LENGTH_MINUTES() { return getToken(SQLServerStatementParser.INTERVAL_LENGTH_MINUTES, 0); }
3654 public TerminalNode MAX_STORAGE_SIZE_MB() { return getToken(SQLServerStatementParser.MAX_STORAGE_SIZE_MB, 0); }
3655 public TerminalNode DATA_FLUSH_INTERVAL_SECONDS() { return getToken(SQLServerStatementParser.DATA_FLUSH_INTERVAL_SECONDS, 0); }
3656 public TerminalNode CLEANUP_POLICY() { return getToken(SQLServerStatementParser.CLEANUP_POLICY, 0); }
3657 public TerminalNode CUSTOM() { return getToken(SQLServerStatementParser.CUSTOM, 0); }
3658 public TerminalNode STALE_QUERY_THRESHOLD_DAYS() { return getToken(SQLServerStatementParser.STALE_QUERY_THRESHOLD_DAYS, 0); }
3659 public TerminalNode OPERATION_MODE() { return getToken(SQLServerStatementParser.OPERATION_MODE, 0); }
3660 public TerminalNode QUERY_STORE() { return getToken(SQLServerStatementParser.QUERY_STORE, 0); }
3661 public TerminalNode CURSOR_DEFAULT() { return getToken(SQLServerStatementParser.CURSOR_DEFAULT, 0); }
3662 public TerminalNode GLOBAL() { return getToken(SQLServerStatementParser.GLOBAL, 0); }
3663 public TerminalNode CURSOR_CLOSE_ON_COMMIT() { return getToken(SQLServerStatementParser.CURSOR_CLOSE_ON_COMMIT, 0); }
3664 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
3665 public TerminalNode CHANGE_RETENTION() { return getToken(SQLServerStatementParser.CHANGE_RETENTION, 0); }
3666 public TerminalNode AUTO_CLEANUP() { return getToken(SQLServerStatementParser.AUTO_CLEANUP, 0); }
3667 public TerminalNode CHANGE_TRACKING() { return getToken(SQLServerStatementParser.CHANGE_TRACKING, 0); }
3668 public TerminalNode AUTOMATIC_TUNING() { return getToken(SQLServerStatementParser.AUTOMATIC_TUNING, 0); }
3669 public TerminalNode FORCE_LAST_GOOD_PLAN() { return getToken(SQLServerStatementParser.FORCE_LAST_GOOD_PLAN, 0); }
3670 public TerminalNode AUTO_UPDATE_STATISTICS_ASYNC() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS_ASYNC, 0); }
3671 public TerminalNode AUTO_UPDATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS, 0); }
3672 public TerminalNode AUTO_SHRINK() { return getToken(SQLServerStatementParser.AUTO_SHRINK, 0); }
3673 public TerminalNode AUTO_CREATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_CREATE_STATISTICS, 0); }
3674 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
3675 public TerminalNode AUTO_CLOSE() { return getToken(SQLServerStatementParser.AUTO_CLOSE, 0); }
3676 public TerminalNode DATA_RETENTION() { return getToken(SQLServerStatementParser.DATA_RETENTION, 0); }
3677 public TerminalNode TEMPORAL_HISTORY_RETENTION() { return getToken(SQLServerStatementParser.TEMPORAL_HISTORY_RETENTION, 0); }
3678 public TerminalNode EDITION() { return getToken(SQLServerStatementParser.EDITION, 0); }
3679 public TerminalNode MIXED_PAGE_ALLOCATION() { return getToken(SQLServerStatementParser.MIXED_PAGE_ALLOCATION, 0); }
3680 public TerminalNode DISABLED() { return getToken(SQLServerStatementParser.DISABLED, 0); }
3681 public TerminalNode ALLOWED() { return getToken(SQLServerStatementParser.ALLOWED, 0); }
3682 public TerminalNode HADR() { return getToken(SQLServerStatementParser.HADR, 0); }
3683 public TerminalNode MULTI_USER() { return getToken(SQLServerStatementParser.MULTI_USER, 0); }
3684 public TerminalNode RESTRICTED_USER() { return getToken(SQLServerStatementParser.RESTRICTED_USER, 0); }
3685 public TerminalNode SINGLE_USER() { return getToken(SQLServerStatementParser.SINGLE_USER, 0); }
3686 public TerminalNode OFFLINE() { return getToken(SQLServerStatementParser.OFFLINE, 0); }
3687 public TerminalNode EMERGENCY() { return getToken(SQLServerStatementParser.EMERGENCY, 0); }
3688 public TerminalNode SUSPEND() { return getToken(SQLServerStatementParser.SUSPEND, 0); }
3689 public TerminalNode DATE_CORRELATION_OPTIMIZATION() { return getToken(SQLServerStatementParser.DATE_CORRELATION_OPTIMIZATION, 0); }
3690 public TerminalNode ELASTIC_POOL() { return getToken(SQLServerStatementParser.ELASTIC_POOL, 0); }
3691 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
3692 public TerminalNode DATABASE_NAME() { return getToken(SQLServerStatementParser.DATABASE_NAME, 0); }
3693 public TerminalNode ALLOW_CONNECTIONS() { return getToken(SQLServerStatementParser.ALLOW_CONNECTIONS, 0); }
3694 public TerminalNode GEO() { return getToken(SQLServerStatementParser.GEO, 0); }
3695 public TerminalNode NAMED() { return getToken(SQLServerStatementParser.NAMED, 0); }
3696 public TerminalNode DATEFIRST() { return getToken(SQLServerStatementParser.DATEFIRST, 0); }
3697 public TerminalNode BACKUP_STORAGE_REDUNDANCY() { return getToken(SQLServerStatementParser.BACKUP_STORAGE_REDUNDANCY, 0); }
3698 public TerminalNode FORCE_FAILOVER_ALLOW_DATA_LOSS() { return getToken(SQLServerStatementParser.FORCE_FAILOVER_ALLOW_DATA_LOSS, 0); }
3699 public TerminalNode SECONDARY() { return getToken(SQLServerStatementParser.SECONDARY, 0); }
3700 public TerminalNode FAILOVER() { return getToken(SQLServerStatementParser.FAILOVER, 0); }
3701 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
3702 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
3703 public TerminalNode INLINE() { return getToken(SQLServerStatementParser.INLINE, 0); }
3704 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
3705 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
3706 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
3707 public TerminalNode PERSISTENT_LOG_BUFFER() { return getToken(SQLServerStatementParser.PERSISTENT_LOG_BUFFER, 0); }
3708 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
3709 public TerminalNode DATEFORMAT() { return getToken(SQLServerStatementParser.DATEFORMAT, 0); }
3710 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
3711 public TerminalNode TRANSFER() { return getToken(SQLServerStatementParser.TRANSFER, 0); }
3712 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
3713 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
3714 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
3715 public TerminalNode MEMBER() { return getToken(SQLServerStatementParser.MEMBER, 0); }
3716 public TerminalNode SEARCH() { return getToken(SQLServerStatementParser.SEARCH, 0); }
3717 public TerminalNode TEXT() { return getToken(SQLServerStatementParser.TEXT, 0); }
3718 public TerminalNode SECOND() { return getToken(SQLServerStatementParser.SECOND, 0); }
3719 public TerminalNode PRECISION() { return getToken(SQLServerStatementParser.PRECISION, 0); }
3720 public TerminalNode VIEWS() { return getToken(SQLServerStatementParser.VIEWS, 0); }
3721 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
3722 public TerminalNode COLUMNS() { return getToken(SQLServerStatementParser.COLUMNS, 0); }
3723 public TerminalNode SUBSTRING() { return getToken(SQLServerStatementParser.SUBSTRING, 0); }
3724 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
3725 public UnreservedWordContext(ParserRuleContext parent, int invokingState) {
3726 super(parent, invokingState);
3727 }
3728 @Override public int getRuleIndex() { return RULE_unreservedWord; }
3729 @Override
3730 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3731 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUnreservedWord(this);
3732 else return visitor.visitChildren(this);
3733 }
3734 }
3735
3736 public final UnreservedWordContext unreservedWord() throws RecognitionException {
3737 UnreservedWordContext _localctx = new UnreservedWordContext(_ctx, getState());
3738 enterRule(_localctx, 48, RULE_unreservedWord);
3739 int _la;
3740 try {
3741 enterOuterAlt(_localctx, 1);
3742 {
3743 setState(1162);
3744 _la = _input.LA(1);
3745 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << TRUNCATE) | (1L << SCHEMA) | (1L << COLUMNS))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (PRECISION - 69)) | (1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CAST - 69)) | (1L << (SUBSTRING - 69)) | (1L << (OFF - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (ARRAY - 133)) | (1L << (DATE - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (QUARTER - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (SECOND - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)) | (1L << (TEXT - 133)) | (1L << (VIEWS - 133)))) != 0) || ((((_la - 203)) & ~0x3f) == 0 && ((1L << (_la - 203)) & ((1L << (READ_ONLY - 203)) | (1L << (DATABASE - 203)) | (1L << (RETURNS - 203)) | (1L << (DATEPART - 203)) | (1L << (PASSWORD - 203)) | (1L << (BINARY - 203)) | (1L << (HIDDEN_ - 203)) | (1L << (MOD - 203)) | (1L << (PARTITION - 203)) | (1L << (PARTITIONS - 203)) | (1L << (TOP - 203)) | (1L << (ROW - 203)) | (1L << (ROWS - 203)) | (1L << (XOR - 203)) | (1L << (ALWAYS - 203)) | (1L << (ROLE - 203)) | (1L << (START - 203)) | (1L << (ALGORITHM - 203)) | (1L << (AUTO - 203)) | (1L << (BLOCKERS - 203)) | (1L << (CLUSTERED - 203)) | (1L << (NONCLUSTERED - 203)) | (1L << (COLUMNSTORE - 203)) | (1L << (CONTENT - 203)) | (1L << (YEARS - 203)) | (1L << (MONTHS - 203)) | (1L << (WEEKS - 203)) | (1L << (DAYS - 203)) | (1L << (MINUTES - 203)) | (1L << (DENY - 203)) | (1L << (DETERMINISTIC - 203)) | (1L << (DISTRIBUTION - 203)) | (1L << (DOCUMENT - 203)) | (1L << (DURABILITY - 203)) | (1L << (ENCRYPTED - 203)) | (1L << (FILESTREAM - 203)) | (1L << (FILETABLE - 203)) | (1L << (FILLFACTOR - 203)) | (1L << (FOLLOWING - 203)) | (1L << (HASH - 203)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (HEAP - 267)) | (1L << (INBOUND - 267)) | (1L << (OUTBOUND - 267)) | (1L << (UNBOUNDED - 267)) | (1L << (INFINITE - 267)) | (1L << (LOGIN - 267)) | (1L << (MASKED - 267)) | (1L << (MAXDOP - 267)) | (1L << (MOVE - 267)) | (1L << (NOCHECK - 267)) | (1L << (OBJECT - 267)) | (1L << (ONLINE - 267)) | (1L << (OVER - 267)) | (1L << (PAGE - 267)) | (1L << (PAUSED - 267)) | (1L << (PERIOD - 267)) | (1L << (PERSISTED - 267)) | (1L << (PRECEDING - 267)) | (1L << (RANDOMIZED - 267)) | (1L << (RANGE - 267)) | (1L << (REBUILD - 267)) | (1L << (REPLICATE - 267)) | (1L << (REPLICATION - 267)) | (1L << (RESUMABLE - 267)) | (1L << (ROWGUIDCOL - 267)) | (1L << (SAVE - 267)) | (1L << (SELF - 267)) | (1L << (SPARSE - 267)) | (1L << (SWITCH - 267)) | (1L << (TRAN - 267)) | (1L << (TRANCOUNT - 267)) | (1L << (CONTROL - 267)) | (1L << (CONCAT - 267)) | (1L << (TAKE - 267)) | (1L << (OWNERSHIP - 267)) | (1L << (DEFINITION - 267)) | (1L << (APPLICATION - 267)) | (1L << (ASSEMBLY - 267)) | (1L << (SYMMETRIC - 267)) | (1L << (ASYMMETRIC - 267)) | (1L << (SERVER - 267)) | (1L << (RECEIVE - 267)) | (1L << (CHANGE - 267)) | (1L << (TRACE - 267)) | (1L << (TRACKING - 267)) | (1L << (RESOURCES - 267)) | (1L << (SETTINGS - 267)) | (1L << (STATE - 267)) | (1L << (AVAILABILITY - 267)) | (1L << (CREDENTIAL - 267)) | (1L << (ENDPOINT - 267)) | (1L << (EVENT - 267)) | (1L << (NOTIFICATION - 267)) | (1L << (LINKED - 267)) | (1L << (AUDIT - 267)))) != 0) || ((((_la - 331)) & ~0x3f) == 0 && ((1L << (_la - 331)) & ((1L << (DDL - 331)) | (1L << (XML - 331)) | (1L << (IMPERSONATE - 331)) | (1L << (SECURABLES - 331)) | (1L << (AUTHENTICATE - 331)) | (1L << (EXTERNAL - 331)) | (1L << (ACCESS - 331)) | (1L << (ADMINISTER - 331)) | (1L << (BULK - 331)) | (1L << (OPERATIONS - 331)) | (1L << (UNSAFE - 331)) | (1L << (SHUTDOWN - 331)) | (1L << (SCOPED - 331)) | (1L << (CONFIGURATION - 331)) | (1L << (DATASPACE - 331)) | (1L << (SERVICE - 331)) | (1L << (CERTIFICATE - 331)) | (1L << (CONTRACT - 331)) | (1L << (ENCRYPTION - 331)) | (1L << (MASTER - 331)) | (1L << (DATA - 331)) | (1L << (SOURCE - 331)) | (1L << (FILE - 331)) | (1L << (FORMAT - 331)) | (1L << (LIBRARY - 331)) | (1L << (FULLTEXT - 331)) | (1L << (MASK - 331)) | (1L << (UNMASK - 331)) | (1L << (MESSAGE - 331)) | (1L << (REMOTE - 331)) | (1L << (BINDING - 331)) | (1L << (ROUTE - 331)) | (1L << (SECURITY - 331)) | (1L << (POLICY - 331)) | (1L << (AGGREGATE - 331)) | (1L << (QUEUE - 331)) | (1L << (RULE - 331)) | (1L << (SYNONYM - 331)) | (1L << (COLLECTION - 331)) | (1L << (SCRIPT - 331)) | (1L << (KILL - 331)) | (1L << (BACKUP - 331)) | (1L << (LOG - 331)) | (1L << (SHOWPLAN - 331)) | (1L << (SUBSCRIBE - 331)) | (1L << (QUERY - 331)) | (1L << (NOTIFICATIONS - 331)) | (1L << (CHECKPOINT - 331)) | (1L << (SEQUENCE - 331)) | (1L << (ABORT_AFTER_WAIT - 331)) | (1L << (ALLOW_PAGE_LOCKS - 331)) | (1L << (ALLOW_ROW_LOCKS - 331)) | (1L << (ALL_SPARSE_COLUMNS - 331)) | (1L << (BUCKET_COUNT - 331)) | (1L << (COLUMNSTORE_ARCHIVE - 331)) | (1L << (COLUMN_ENCRYPTION_KEY - 331)) | (1L << (COLUMN_SET - 331)) | (1L << (COMPRESSION_DELAY - 331)) | (1L << (DATABASE_DEAULT - 331)) | (1L << (DATA_COMPRESSION - 331)) | (1L << (DATA_CONSISTENCY_CHECK - 331)) | (1L << (ENCRYPTION_TYPE - 331)) | (1L << (SYSTEM_TIME - 331)) | (1L << (SYSTEM_VERSIONING - 331)))) != 0) || ((((_la - 395)) & ~0x3f) == 0 && ((1L << (_la - 395)) & ((1L << (TEXTIMAGE_ON - 395)) | (1L << (WAIT_AT_LOW_PRIORITY - 395)) | (1L << (STATISTICS_INCREMENTAL - 395)) | (1L << (STATISTICS_NORECOMPUTE - 395)) | (1L << (ROUND_ROBIN - 395)) | (1L << (SCHEMA_AND_DATA - 395)) | (1L << (SCHEMA_ONLY - 395)) | (1L << (SORT_IN_TEMPDB - 395)) | (1L << (IGNORE_DUP_KEY - 395)) | (1L << (IMPLICIT_TRANSACTIONS - 395)) | (1L << (MAX_DURATION - 395)) | (1L << (MEMORY_OPTIMIZED - 395)) | (1L << (MIGRATION_STATE - 395)) | (1L << (PAD_INDEX - 395)) | (1L << (REMOTE_DATA_ARCHIVE - 395)) | (1L << (FILESTREAM_ON - 395)) | (1L << (FILETABLE_COLLATE_FILENAME - 395)) | (1L << (FILETABLE_DIRECTORY - 395)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILTER_PREDICATE - 395)) | (1L << (HISTORY_RETENTION_PERIOD - 395)) | (1L << (HISTORY_TABLE - 395)) | (1L << (LOCK_ESCALATION - 395)) | (1L << (DROP_EXISTING - 395)) | (1L << (ROW_NUMBER - 395)) | (1L << (FIRST - 395)) | (1L << (DATETIME2 - 395)) | (1L << (OUTPUT - 395)) | (1L << (INSERTED - 395)) | (1L << (DELETED - 395)))) != 0) || ((((_la - 480)) & ~0x3f) == 0 && ((1L << (_la - 480)) & ((1L << (FILENAME - 480)) | (1L << (MAXSIZE - 480)) | (1L << (FILEGROWTH - 480)) | (1L << (UNLIMITED - 480)) | (1L << (KB - 480)) | (1L << (MB - 480)) | (1L << (GB - 480)) | (1L << (TB - 480)) | (1L << (MEMORY_OPTIMIZED_DATA - 480)) | (1L << (FILEGROUP - 480)) | (1L << (NON_TRANSACTED_ACCESS - 480)) | (1L << (DB_CHAINING - 480)) | (1L << (TRUSTWORTHY - 480)) | (1L << (FORWARD_ONLY - 480)) | (1L << (KEYSET - 480)) | (1L << (FAST_FORWARD - 480)) | (1L << (SCROLL_LOCKS - 480)) | (1L << (OPTIMISTIC - 480)) | (1L << (TYPE_WARNING - 480)) | (1L << (SCHEMABINDING - 480)) | (1L << (CALLER - 480)) | (1L << (OWNER - 480)) | (1L << (SNAPSHOT - 480)) | (1L << (REPEATABLE - 480)) | (1L << (SERIALIZABLE - 480)) | (1L << (NATIVE_COMPILATION - 480)) | (1L << (VIEW_METADATA - 480)) | (1L << (INSTEAD - 480)) | (1L << (APPEND - 480)) | (1L << (INCREMENT - 480)) | (1L << (CACHE - 480)) | (1L << (MINVALUE - 480)) | (1L << (MAXVALUE - 480)) | (1L << (RESTART - 480)) | (1L << (LOB_COMPACTION - 480)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 480)) | (1L << (REORGANIZE - 480)) | (1L << (RESUME - 480)) | (1L << (PAUSE - 480)) | (1L << (ABORT - 480)))) != 0) || ((((_la - 546)) & ~0x3f) == 0 && ((1L << (_la - 546)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 546)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 546)) | (1L << (IMMEDIATE - 546)) | (1L << (NO_WAIT - 546)) | (1L << (TARGET_RECOVERY_TIME - 546)) | (1L << (SECONDS - 546)) | (1L << (HONOR_BROKER_PRIORITY - 546)) | (1L << (ERROR_BROKER_CONVERSATIONS - 546)) | (1L << (NEW_BROKER - 546)) | (1L << (DISABLE_BROKER - 546)) | (1L << (ENABLE_BROKER - 546)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 546)) | (1L << (READ_COMMITTED_SNAPSHOT - 546)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 546)) | (1L << (RECURSIVE_TRIGGERS - 546)) | (1L << (QUOTED_IDENTIFIER - 546)) | (1L << (NUMERIC_ROUNDABORT - 546)) | (1L << (CONCAT_NULL_YIELDS_NULL - 546)) | (1L << (COMPATIBILITY_LEVEL - 546)) | (1L << (ARITHABORT - 546)) | (1L << (ANSI_WARNINGS - 546)) | (1L << (ANSI_PADDING - 546)) | (1L << (ANSI_NULLS - 546)) | (1L << (ANSI_NULL_DEFAULT - 546)) | (1L << (PAGE_VERIFY - 546)) | (1L << (CHECKSUM - 546)) | (1L << (TORN_PAGE_DETECTION - 546)) | (1L << (BULK_LOGGED - 546)) | (1L << (RECOVERY - 546)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 546)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 546)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 546)) | (1L << (EXECUTION_COUNT - 546)) | (1L << (QUERY_CAPTURE_POLICY - 546)) | (1L << (WAIT_STATS_CAPTURE_MODE - 546)) | (1L << (MAX_PLANS_PER_QUERY - 546)) | (1L << (QUERY_CAPTURE_MODE - 546)) | (1L << (SIZE_BASED_CLEANUP_MODE - 546)) | (1L << (INTERVAL_LENGTH_MINUTES - 546)) | (1L << (MAX_STORAGE_SIZE_MB - 546)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 546)) | (1L << (CLEANUP_POLICY - 546)) | (1L << (CUSTOM - 546)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 546)) | (1L << (OPERATION_MODE - 546)) | (1L << (QUERY_STORE - 546)) | (1L << (CURSOR_DEFAULT - 546)) | (1L << (GLOBAL - 546)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 546)) | (1L << (HOURS - 546)) | (1L << (CHANGE_RETENTION - 546)) | (1L << (AUTO_CLEANUP - 546)) | (1L << (CHANGE_TRACKING - 546)) | (1L << (AUTOMATIC_TUNING - 546)) | (1L << (FORCE_LAST_GOOD_PLAN - 546)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 546)) | (1L << (AUTO_UPDATE_STATISTICS - 546)) | (1L << (AUTO_SHRINK - 546)) | (1L << (AUTO_CREATE_STATISTICS - 546)) | (1L << (INCREMENTAL - 546)) | (1L << (AUTO_CLOSE - 546)) | (1L << (DATA_RETENTION - 546)) | (1L << (TEMPORAL_HISTORY_RETENTION - 546)) | (1L << (EDITION - 546)))) != 0) || ((((_la - 610)) & ~0x3f) == 0 && ((1L << (_la - 610)) & ((1L << (MIXED_PAGE_ALLOCATION - 610)) | (1L << (DISABLED - 610)) | (1L << (ALLOWED - 610)) | (1L << (HADR - 610)) | (1L << (MULTI_USER - 610)) | (1L << (RESTRICTED_USER - 610)) | (1L << (SINGLE_USER - 610)) | (1L << (OFFLINE - 610)) | (1L << (EMERGENCY - 610)) | (1L << (SUSPEND - 610)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 610)) | (1L << (ELASTIC_POOL - 610)) | (1L << (SERVICE_OBJECTIVE - 610)) | (1L << (DATABASE_NAME - 610)) | (1L << (ALLOW_CONNECTIONS - 610)) | (1L << (GEO - 610)) | (1L << (NAMED - 610)) | (1L << (DATEFIRST - 610)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 610)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 610)) | (1L << (SECONDARY - 610)) | (1L << (FAILOVER - 610)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 610)) | (1L << (DEFAULT_LANGUAGE - 610)) | (1L << (INLINE - 610)) | (1L << (NESTED_TRIGGERS - 610)) | (1L << (TRANSFORM_NOISE_WORDS - 610)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 610)) | (1L << (PERSISTENT_LOG_BUFFER - 610)) | (1L << (DIRECTORY_NAME - 610)) | (1L << (DATEFORMAT - 610)) | (1L << (DELAYED_DURABILITY - 610)) | (1L << (AUTHORIZATION - 610)) | (1L << (TRANSFER - 610)) | (1L << (PROVIDER - 610)) | (1L << (SEARCH - 610)) | (1L << (MEMBER - 610)))) != 0)) ) {
3746 _errHandler.recoverInline(this);
3747 }
3748 else {
3749 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
3750 _errHandler.reportMatch(this);
3751 consume();
3752 }
3753 }
3754 }
3755 catch (RecognitionException re) {
3756 _localctx.exception = re;
3757 _errHandler.reportError(this, re);
3758 _errHandler.recover(this, re);
3759 }
3760 finally {
3761 exitRule();
3762 }
3763 return _localctx;
3764 }
3765
3766 public static class DatabaseNameContext extends ParserRuleContext {
3767 public IdentifierContext identifier() {
3768 return getRuleContext(IdentifierContext.class,0);
3769 }
3770 public DatabaseNameContext(ParserRuleContext parent, int invokingState) {
3771 super(parent, invokingState);
3772 }
3773 @Override public int getRuleIndex() { return RULE_databaseName; }
3774 @Override
3775 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3776 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseName(this);
3777 else return visitor.visitChildren(this);
3778 }
3779 }
3780
3781 public final DatabaseNameContext databaseName() throws RecognitionException {
3782 DatabaseNameContext _localctx = new DatabaseNameContext(_ctx, getState());
3783 enterRule(_localctx, 50, RULE_databaseName);
3784 try {
3785 enterOuterAlt(_localctx, 1);
3786 {
3787 setState(1164);
3788 identifier();
3789 }
3790 }
3791 catch (RecognitionException re) {
3792 _localctx.exception = re;
3793 _errHandler.reportError(this, re);
3794 _errHandler.recover(this, re);
3795 }
3796 finally {
3797 exitRule();
3798 }
3799 return _localctx;
3800 }
3801
3802 public static class SchemaNameContext extends ParserRuleContext {
3803 public IdentifierContext identifier() {
3804 return getRuleContext(IdentifierContext.class,0);
3805 }
3806 public SchemaNameContext(ParserRuleContext parent, int invokingState) {
3807 super(parent, invokingState);
3808 }
3809 @Override public int getRuleIndex() { return RULE_schemaName; }
3810 @Override
3811 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3812 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaName(this);
3813 else return visitor.visitChildren(this);
3814 }
3815 }
3816
3817 public final SchemaNameContext schemaName() throws RecognitionException {
3818 SchemaNameContext _localctx = new SchemaNameContext(_ctx, getState());
3819 enterRule(_localctx, 52, RULE_schemaName);
3820 try {
3821 enterOuterAlt(_localctx, 1);
3822 {
3823 setState(1166);
3824 identifier();
3825 }
3826 }
3827 catch (RecognitionException re) {
3828 _localctx.exception = re;
3829 _errHandler.reportError(this, re);
3830 _errHandler.recover(this, re);
3831 }
3832 finally {
3833 exitRule();
3834 }
3835 return _localctx;
3836 }
3837
3838 public static class FunctionNameContext extends ParserRuleContext {
3839 public NameContext name() {
3840 return getRuleContext(NameContext.class,0);
3841 }
3842 public OwnerContext owner() {
3843 return getRuleContext(OwnerContext.class,0);
3844 }
3845 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3846 public FunctionNameContext(ParserRuleContext parent, int invokingState) {
3847 super(parent, invokingState);
3848 }
3849 @Override public int getRuleIndex() { return RULE_functionName; }
3850 @Override
3851 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3852 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionName(this);
3853 else return visitor.visitChildren(this);
3854 }
3855 }
3856
3857 public final FunctionNameContext functionName() throws RecognitionException {
3858 FunctionNameContext _localctx = new FunctionNameContext(_ctx, getState());
3859 enterRule(_localctx, 54, RULE_functionName);
3860 try {
3861 enterOuterAlt(_localctx, 1);
3862 {
3863 setState(1171);
3864 _errHandler.sync(this);
3865 switch ( getInterpreter().adaptivePredict(_input,20,_ctx) ) {
3866 case 1:
3867 {
3868 setState(1168);
3869 owner();
3870 setState(1169);
3871 match(DOT_);
3872 }
3873 break;
3874 }
3875 setState(1173);
3876 name();
3877 }
3878 }
3879 catch (RecognitionException re) {
3880 _localctx.exception = re;
3881 _errHandler.reportError(this, re);
3882 _errHandler.recover(this, re);
3883 }
3884 finally {
3885 exitRule();
3886 }
3887 return _localctx;
3888 }
3889
3890 public static class ProcedureNameContext extends ParserRuleContext {
3891 public NameContext name() {
3892 return getRuleContext(NameContext.class,0);
3893 }
3894 public OwnerContext owner() {
3895 return getRuleContext(OwnerContext.class,0);
3896 }
3897 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3898 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
3899 public NumberLiteralsContext numberLiterals() {
3900 return getRuleContext(NumberLiteralsContext.class,0);
3901 }
3902 public ProcedureNameContext(ParserRuleContext parent, int invokingState) {
3903 super(parent, invokingState);
3904 }
3905 @Override public int getRuleIndex() { return RULE_procedureName; }
3906 @Override
3907 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3908 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcedureName(this);
3909 else return visitor.visitChildren(this);
3910 }
3911 }
3912
3913 public final ProcedureNameContext procedureName() throws RecognitionException {
3914 ProcedureNameContext _localctx = new ProcedureNameContext(_ctx, getState());
3915 enterRule(_localctx, 56, RULE_procedureName);
3916 try {
3917 enterOuterAlt(_localctx, 1);
3918 {
3919 setState(1178);
3920 _errHandler.sync(this);
3921 switch ( getInterpreter().adaptivePredict(_input,21,_ctx) ) {
3922 case 1:
3923 {
3924 setState(1175);
3925 owner();
3926 setState(1176);
3927 match(DOT_);
3928 }
3929 break;
3930 }
3931 setState(1180);
3932 name();
3933 setState(1183);
3934 _errHandler.sync(this);
3935 switch ( getInterpreter().adaptivePredict(_input,22,_ctx) ) {
3936 case 1:
3937 {
3938 setState(1181);
3939 match(SEMI_);
3940 setState(1182);
3941 numberLiterals();
3942 }
3943 break;
3944 }
3945 }
3946 }
3947 catch (RecognitionException re) {
3948 _localctx.exception = re;
3949 _errHandler.reportError(this, re);
3950 _errHandler.recover(this, re);
3951 }
3952 finally {
3953 exitRule();
3954 }
3955 return _localctx;
3956 }
3957
3958 public static class ViewNameContext extends ParserRuleContext {
3959 public NameContext name() {
3960 return getRuleContext(NameContext.class,0);
3961 }
3962 public OwnerContext owner() {
3963 return getRuleContext(OwnerContext.class,0);
3964 }
3965 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3966 public ViewNameContext(ParserRuleContext parent, int invokingState) {
3967 super(parent, invokingState);
3968 }
3969 @Override public int getRuleIndex() { return RULE_viewName; }
3970 @Override
3971 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3972 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitViewName(this);
3973 else return visitor.visitChildren(this);
3974 }
3975 }
3976
3977 public final ViewNameContext viewName() throws RecognitionException {
3978 ViewNameContext _localctx = new ViewNameContext(_ctx, getState());
3979 enterRule(_localctx, 58, RULE_viewName);
3980 try {
3981 enterOuterAlt(_localctx, 1);
3982 {
3983 setState(1188);
3984 _errHandler.sync(this);
3985 switch ( getInterpreter().adaptivePredict(_input,23,_ctx) ) {
3986 case 1:
3987 {
3988 setState(1185);
3989 owner();
3990 setState(1186);
3991 match(DOT_);
3992 }
3993 break;
3994 }
3995 setState(1190);
3996 name();
3997 }
3998 }
3999 catch (RecognitionException re) {
4000 _localctx.exception = re;
4001 _errHandler.reportError(this, re);
4002 _errHandler.recover(this, re);
4003 }
4004 finally {
4005 exitRule();
4006 }
4007 return _localctx;
4008 }
4009
4010 public static class TriggerNameContext extends ParserRuleContext {
4011 public NameContext name() {
4012 return getRuleContext(NameContext.class,0);
4013 }
4014 public SchemaNameContext schemaName() {
4015 return getRuleContext(SchemaNameContext.class,0);
4016 }
4017 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4018 public TriggerNameContext(ParserRuleContext parent, int invokingState) {
4019 super(parent, invokingState);
4020 }
4021 @Override public int getRuleIndex() { return RULE_triggerName; }
4022 @Override
4023 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4024 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTriggerName(this);
4025 else return visitor.visitChildren(this);
4026 }
4027 }
4028
4029 public final TriggerNameContext triggerName() throws RecognitionException {
4030 TriggerNameContext _localctx = new TriggerNameContext(_ctx, getState());
4031 enterRule(_localctx, 60, RULE_triggerName);
4032 try {
4033 enterOuterAlt(_localctx, 1);
4034 {
4035 setState(1195);
4036 _errHandler.sync(this);
4037 switch ( getInterpreter().adaptivePredict(_input,24,_ctx) ) {
4038 case 1:
4039 {
4040 setState(1192);
4041 schemaName();
4042 setState(1193);
4043 match(DOT_);
4044 }
4045 break;
4046 }
4047 setState(1197);
4048 name();
4049 }
4050 }
4051 catch (RecognitionException re) {
4052 _localctx.exception = re;
4053 _errHandler.reportError(this, re);
4054 _errHandler.recover(this, re);
4055 }
4056 finally {
4057 exitRule();
4058 }
4059 return _localctx;
4060 }
4061
4062 public static class SequenceNameContext extends ParserRuleContext {
4063 public NameContext name() {
4064 return getRuleContext(NameContext.class,0);
4065 }
4066 public SchemaNameContext schemaName() {
4067 return getRuleContext(SchemaNameContext.class,0);
4068 }
4069 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4070 public SequenceNameContext(ParserRuleContext parent, int invokingState) {
4071 super(parent, invokingState);
4072 }
4073 @Override public int getRuleIndex() { return RULE_sequenceName; }
4074 @Override
4075 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4076 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSequenceName(this);
4077 else return visitor.visitChildren(this);
4078 }
4079 }
4080
4081 public final SequenceNameContext sequenceName() throws RecognitionException {
4082 SequenceNameContext _localctx = new SequenceNameContext(_ctx, getState());
4083 enterRule(_localctx, 62, RULE_sequenceName);
4084 try {
4085 enterOuterAlt(_localctx, 1);
4086 {
4087 setState(1202);
4088 _errHandler.sync(this);
4089 switch ( getInterpreter().adaptivePredict(_input,25,_ctx) ) {
4090 case 1:
4091 {
4092 setState(1199);
4093 schemaName();
4094 setState(1200);
4095 match(DOT_);
4096 }
4097 break;
4098 }
4099 setState(1204);
4100 name();
4101 }
4102 }
4103 catch (RecognitionException re) {
4104 _localctx.exception = re;
4105 _errHandler.reportError(this, re);
4106 _errHandler.recover(this, re);
4107 }
4108 finally {
4109 exitRule();
4110 }
4111 return _localctx;
4112 }
4113
4114 public static class TableNameContext extends ParserRuleContext {
4115 public NameContext name() {
4116 return getRuleContext(NameContext.class,0);
4117 }
4118 public DatabaseNameContext databaseName() {
4119 return getRuleContext(DatabaseNameContext.class,0);
4120 }
4121 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
4122 public TerminalNode DOT_(int i) {
4123 return getToken(SQLServerStatementParser.DOT_, i);
4124 }
4125 public OwnerContext owner() {
4126 return getRuleContext(OwnerContext.class,0);
4127 }
4128 public TableNameContext(ParserRuleContext parent, int invokingState) {
4129 super(parent, invokingState);
4130 }
4131 @Override public int getRuleIndex() { return RULE_tableName; }
4132 @Override
4133 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4134 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableName(this);
4135 else return visitor.visitChildren(this);
4136 }
4137 }
4138
4139 public final TableNameContext tableName() throws RecognitionException {
4140 TableNameContext _localctx = new TableNameContext(_ctx, getState());
4141 enterRule(_localctx, 64, RULE_tableName);
4142 try {
4143 enterOuterAlt(_localctx, 1);
4144 {
4145 setState(1218);
4146 _errHandler.sync(this);
4147 switch ( getInterpreter().adaptivePredict(_input,28,_ctx) ) {
4148 case 1:
4149 {
4150 setState(1206);
4151 databaseName();
4152 setState(1207);
4153 match(DOT_);
4154 setState(1211);
4155 _errHandler.sync(this);
4156 switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) {
4157 case 1:
4158 {
4159 setState(1208);
4160 owner();
4161 setState(1209);
4162 match(DOT_);
4163 }
4164 break;
4165 }
4166 }
4167 break;
4168 case 2:
4169 {
4170 setState(1216);
4171 _errHandler.sync(this);
4172 switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) {
4173 case 1:
4174 {
4175 setState(1213);
4176 owner();
4177 setState(1214);
4178 match(DOT_);
4179 }
4180 break;
4181 }
4182 }
4183 break;
4184 }
4185 setState(1220);
4186 name();
4187 }
4188 }
4189 catch (RecognitionException re) {
4190 _localctx.exception = re;
4191 _errHandler.reportError(this, re);
4192 _errHandler.recover(this, re);
4193 }
4194 finally {
4195 exitRule();
4196 }
4197 return _localctx;
4198 }
4199
4200 public static class QueueNameContext extends ParserRuleContext {
4201 public NameContext name() {
4202 return getRuleContext(NameContext.class,0);
4203 }
4204 public SchemaNameContext schemaName() {
4205 return getRuleContext(SchemaNameContext.class,0);
4206 }
4207 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4208 public QueueNameContext(ParserRuleContext parent, int invokingState) {
4209 super(parent, invokingState);
4210 }
4211 @Override public int getRuleIndex() { return RULE_queueName; }
4212 @Override
4213 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4214 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueueName(this);
4215 else return visitor.visitChildren(this);
4216 }
4217 }
4218
4219 public final QueueNameContext queueName() throws RecognitionException {
4220 QueueNameContext _localctx = new QueueNameContext(_ctx, getState());
4221 enterRule(_localctx, 66, RULE_queueName);
4222 try {
4223 enterOuterAlt(_localctx, 1);
4224 {
4225 setState(1225);
4226 _errHandler.sync(this);
4227 switch ( getInterpreter().adaptivePredict(_input,29,_ctx) ) {
4228 case 1:
4229 {
4230 setState(1222);
4231 schemaName();
4232 setState(1223);
4233 match(DOT_);
4234 }
4235 break;
4236 }
4237 setState(1227);
4238 name();
4239 }
4240 }
4241 catch (RecognitionException re) {
4242 _localctx.exception = re;
4243 _errHandler.reportError(this, re);
4244 _errHandler.recover(this, re);
4245 }
4246 finally {
4247 exitRule();
4248 }
4249 return _localctx;
4250 }
4251
4252 public static class ContractNameContext extends ParserRuleContext {
4253 public NameContext name() {
4254 return getRuleContext(NameContext.class,0);
4255 }
4256 public ContractNameContext(ParserRuleContext parent, int invokingState) {
4257 super(parent, invokingState);
4258 }
4259 @Override public int getRuleIndex() { return RULE_contractName; }
4260 @Override
4261 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4262 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitContractName(this);
4263 else return visitor.visitChildren(this);
4264 }
4265 }
4266
4267 public final ContractNameContext contractName() throws RecognitionException {
4268 ContractNameContext _localctx = new ContractNameContext(_ctx, getState());
4269 enterRule(_localctx, 68, RULE_contractName);
4270 try {
4271 enterOuterAlt(_localctx, 1);
4272 {
4273 setState(1229);
4274 name();
4275 }
4276 }
4277 catch (RecognitionException re) {
4278 _localctx.exception = re;
4279 _errHandler.reportError(this, re);
4280 _errHandler.recover(this, re);
4281 }
4282 finally {
4283 exitRule();
4284 }
4285 return _localctx;
4286 }
4287
4288 public static class ServiceNameContext extends ParserRuleContext {
4289 public NameContext name() {
4290 return getRuleContext(NameContext.class,0);
4291 }
4292 public ServiceNameContext(ParserRuleContext parent, int invokingState) {
4293 super(parent, invokingState);
4294 }
4295 @Override public int getRuleIndex() { return RULE_serviceName; }
4296 @Override
4297 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4298 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceName(this);
4299 else return visitor.visitChildren(this);
4300 }
4301 }
4302
4303 public final ServiceNameContext serviceName() throws RecognitionException {
4304 ServiceNameContext _localctx = new ServiceNameContext(_ctx, getState());
4305 enterRule(_localctx, 70, RULE_serviceName);
4306 try {
4307 enterOuterAlt(_localctx, 1);
4308 {
4309 setState(1231);
4310 name();
4311 }
4312 }
4313 catch (RecognitionException re) {
4314 _localctx.exception = re;
4315 _errHandler.reportError(this, re);
4316 _errHandler.recover(this, re);
4317 }
4318 finally {
4319 exitRule();
4320 }
4321 return _localctx;
4322 }
4323
4324 public static class ColumnNameContext extends ParserRuleContext {
4325 public NameContext name() {
4326 return getRuleContext(NameContext.class,0);
4327 }
4328 public ScriptVariableNameContext scriptVariableName() {
4329 return getRuleContext(ScriptVariableNameContext.class,0);
4330 }
4331 public OwnerContext owner() {
4332 return getRuleContext(OwnerContext.class,0);
4333 }
4334 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4335 public ColumnNameContext(ParserRuleContext parent, int invokingState) {
4336 super(parent, invokingState);
4337 }
4338 @Override public int getRuleIndex() { return RULE_columnName; }
4339 @Override
4340 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4341 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnName(this);
4342 else return visitor.visitChildren(this);
4343 }
4344 }
4345
4346 public final ColumnNameContext columnName() throws RecognitionException {
4347 ColumnNameContext _localctx = new ColumnNameContext(_ctx, getState());
4348 enterRule(_localctx, 72, RULE_columnName);
4349 try {
4350 enterOuterAlt(_localctx, 1);
4351 {
4352 setState(1236);
4353 _errHandler.sync(this);
4354 switch ( getInterpreter().adaptivePredict(_input,30,_ctx) ) {
4355 case 1:
4356 {
4357 setState(1233);
4358 owner();
4359 setState(1234);
4360 match(DOT_);
4361 }
4362 break;
4363 }
4364 setState(1240);
4365 _errHandler.sync(this);
4366 switch (_input.LA(1)) {
4367 case TRUNCATE:
4368 case SCHEMA:
4369 case COLUMNS:
4370 case PRECISION:
4371 case FUNCTION:
4372 case TRIGGER:
4373 case CAST:
4374 case SUBSTRING:
4375 case OFF:
4376 case GROUP:
4377 case LIMIT:
4378 case OFFSET:
4379 case SAVEPOINT:
4380 case BOOLEAN:
4381 case ARRAY:
4382 case DATE:
4383 case LOCALTIME:
4384 case LOCALTIMESTAMP:
4385 case QUARTER:
4386 case WEEK:
4387 case DAY:
4388 case SECOND:
4389 case MICROSECOND:
4390 case MAX:
4391 case MIN:
4392 case SUM:
4393 case COUNT:
4394 case AVG:
4395 case ENABLE:
4396 case DISABLE:
4397 case INSTANCE:
4398 case DO:
4399 case DEFINER:
4400 case SQL:
4401 case CASCADED:
4402 case LOCAL:
4403 case NEXT:
4404 case NAME:
4405 case INTEGER:
4406 case TYPE:
4407 case TEXT:
4408 case VIEWS:
4409 case READ_ONLY:
4410 case DATABASE:
4411 case RETURNS:
4412 case DATEPART:
4413 case PASSWORD:
4414 case BINARY:
4415 case HIDDEN_:
4416 case MOD:
4417 case PARTITION:
4418 case PARTITIONS:
4419 case TOP:
4420 case ROW:
4421 case ROWS:
4422 case XOR:
4423 case ALWAYS:
4424 case ROLE:
4425 case START:
4426 case ALGORITHM:
4427 case AUTO:
4428 case BLOCKERS:
4429 case CLUSTERED:
4430 case NONCLUSTERED:
4431 case COLUMNSTORE:
4432 case CONTENT:
4433 case YEARS:
4434 case MONTHS:
4435 case WEEKS:
4436 case DAYS:
4437 case MINUTES:
4438 case DENY:
4439 case DETERMINISTIC:
4440 case DISTRIBUTION:
4441 case DOCUMENT:
4442 case DURABILITY:
4443 case ENCRYPTED:
4444 case FILESTREAM:
4445 case FILETABLE:
4446 case FILLFACTOR:
4447 case FOLLOWING:
4448 case HASH:
4449 case HEAP:
4450 case INBOUND:
4451 case OUTBOUND:
4452 case UNBOUNDED:
4453 case INFINITE:
4454 case LOGIN:
4455 case MASKED:
4456 case MAXDOP:
4457 case MOVE:
4458 case NOCHECK:
4459 case OBJECT:
4460 case ONLINE:
4461 case OVER:
4462 case PAGE:
4463 case PAUSED:
4464 case PERIOD:
4465 case PERSISTED:
4466 case PRECEDING:
4467 case RANDOMIZED:
4468 case RANGE:
4469 case REBUILD:
4470 case REPLICATE:
4471 case REPLICATION:
4472 case RESUMABLE:
4473 case ROWGUIDCOL:
4474 case SAVE:
4475 case SELF:
4476 case SPARSE:
4477 case SWITCH:
4478 case TRAN:
4479 case TRANCOUNT:
4480 case CONTROL:
4481 case CONCAT:
4482 case TAKE:
4483 case OWNERSHIP:
4484 case DEFINITION:
4485 case APPLICATION:
4486 case ASSEMBLY:
4487 case SYMMETRIC:
4488 case ASYMMETRIC:
4489 case SERVER:
4490 case RECEIVE:
4491 case CHANGE:
4492 case TRACE:
4493 case TRACKING:
4494 case RESOURCES:
4495 case SETTINGS:
4496 case STATE:
4497 case AVAILABILITY:
4498 case CREDENTIAL:
4499 case ENDPOINT:
4500 case EVENT:
4501 case NOTIFICATION:
4502 case LINKED:
4503 case AUDIT:
4504 case DDL:
4505 case XML:
4506 case IMPERSONATE:
4507 case SECURABLES:
4508 case AUTHENTICATE:
4509 case EXTERNAL:
4510 case ACCESS:
4511 case ADMINISTER:
4512 case BULK:
4513 case OPERATIONS:
4514 case UNSAFE:
4515 case SHUTDOWN:
4516 case SCOPED:
4517 case CONFIGURATION:
4518 case DATASPACE:
4519 case SERVICE:
4520 case CERTIFICATE:
4521 case CONTRACT:
4522 case ENCRYPTION:
4523 case MASTER:
4524 case DATA:
4525 case SOURCE:
4526 case FILE:
4527 case FORMAT:
4528 case LIBRARY:
4529 case FULLTEXT:
4530 case MASK:
4531 case UNMASK:
4532 case MESSAGE:
4533 case REMOTE:
4534 case BINDING:
4535 case ROUTE:
4536 case SECURITY:
4537 case POLICY:
4538 case AGGREGATE:
4539 case QUEUE:
4540 case RULE:
4541 case SYNONYM:
4542 case COLLECTION:
4543 case SCRIPT:
4544 case KILL:
4545 case BACKUP:
4546 case LOG:
4547 case SHOWPLAN:
4548 case SUBSCRIBE:
4549 case QUERY:
4550 case NOTIFICATIONS:
4551 case CHECKPOINT:
4552 case SEQUENCE:
4553 case ABORT_AFTER_WAIT:
4554 case ALLOW_PAGE_LOCKS:
4555 case ALLOW_ROW_LOCKS:
4556 case ALL_SPARSE_COLUMNS:
4557 case BUCKET_COUNT:
4558 case COLUMNSTORE_ARCHIVE:
4559 case COLUMN_ENCRYPTION_KEY:
4560 case COLUMN_SET:
4561 case COMPRESSION_DELAY:
4562 case DATABASE_DEAULT:
4563 case DATA_COMPRESSION:
4564 case DATA_CONSISTENCY_CHECK:
4565 case ENCRYPTION_TYPE:
4566 case SYSTEM_TIME:
4567 case SYSTEM_VERSIONING:
4568 case TEXTIMAGE_ON:
4569 case WAIT_AT_LOW_PRIORITY:
4570 case STATISTICS_INCREMENTAL:
4571 case STATISTICS_NORECOMPUTE:
4572 case ROUND_ROBIN:
4573 case SCHEMA_AND_DATA:
4574 case SCHEMA_ONLY:
4575 case SORT_IN_TEMPDB:
4576 case IGNORE_DUP_KEY:
4577 case IMPLICIT_TRANSACTIONS:
4578 case MAX_DURATION:
4579 case MEMORY_OPTIMIZED:
4580 case MIGRATION_STATE:
4581 case PAD_INDEX:
4582 case REMOTE_DATA_ARCHIVE:
4583 case FILESTREAM_ON:
4584 case FILETABLE_COLLATE_FILENAME:
4585 case FILETABLE_DIRECTORY:
4586 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
4587 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
4588 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
4589 case FILTER_PREDICATE:
4590 case HISTORY_RETENTION_PERIOD:
4591 case HISTORY_TABLE:
4592 case LOCK_ESCALATION:
4593 case DROP_EXISTING:
4594 case ROW_NUMBER:
4595 case FIRST:
4596 case DATETIME2:
4597 case OUTPUT:
4598 case INSERTED:
4599 case DELETED:
4600 case FILENAME:
4601 case MAXSIZE:
4602 case FILEGROWTH:
4603 case UNLIMITED:
4604 case KB:
4605 case MB:
4606 case GB:
4607 case TB:
4608 case MEMORY_OPTIMIZED_DATA:
4609 case FILEGROUP:
4610 case NON_TRANSACTED_ACCESS:
4611 case DB_CHAINING:
4612 case TRUSTWORTHY:
4613 case FORWARD_ONLY:
4614 case KEYSET:
4615 case FAST_FORWARD:
4616 case SCROLL_LOCKS:
4617 case OPTIMISTIC:
4618 case TYPE_WARNING:
4619 case SCHEMABINDING:
4620 case CALLER:
4621 case OWNER:
4622 case SNAPSHOT:
4623 case REPEATABLE:
4624 case SERIALIZABLE:
4625 case NATIVE_COMPILATION:
4626 case VIEW_METADATA:
4627 case INSTEAD:
4628 case APPEND:
4629 case INCREMENT:
4630 case CACHE:
4631 case MINVALUE:
4632 case MAXVALUE:
4633 case RESTART:
4634 case LOB_COMPACTION:
4635 case COMPRESS_ALL_ROW_GROUPS:
4636 case REORGANIZE:
4637 case RESUME:
4638 case PAUSE:
4639 case ABORT:
4640 case ACCELERATED_DATABASE_RECOVERY:
4641 case PERSISTENT_VERSION_STORE_FILEGROUP:
4642 case IMMEDIATE:
4643 case NO_WAIT:
4644 case TARGET_RECOVERY_TIME:
4645 case SECONDS:
4646 case HONOR_BROKER_PRIORITY:
4647 case ERROR_BROKER_CONVERSATIONS:
4648 case NEW_BROKER:
4649 case DISABLE_BROKER:
4650 case ENABLE_BROKER:
4651 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
4652 case READ_COMMITTED_SNAPSHOT:
4653 case ALLOW_SNAPSHOT_ISOLATION:
4654 case RECURSIVE_TRIGGERS:
4655 case QUOTED_IDENTIFIER:
4656 case NUMERIC_ROUNDABORT:
4657 case CONCAT_NULL_YIELDS_NULL:
4658 case COMPATIBILITY_LEVEL:
4659 case ARITHABORT:
4660 case ANSI_WARNINGS:
4661 case ANSI_PADDING:
4662 case ANSI_NULLS:
4663 case ANSI_NULL_DEFAULT:
4664 case PAGE_VERIFY:
4665 case CHECKSUM:
4666 case TORN_PAGE_DETECTION:
4667 case BULK_LOGGED:
4668 case RECOVERY:
4669 case TOTAL_EXECUTION_CPU_TIME_MS:
4670 case TOTAL_COMPILE_CPU_TIME_MS:
4671 case STALE_CAPTURE_POLICY_THRESHOLD:
4672 case EXECUTION_COUNT:
4673 case QUERY_CAPTURE_POLICY:
4674 case WAIT_STATS_CAPTURE_MODE:
4675 case MAX_PLANS_PER_QUERY:
4676 case QUERY_CAPTURE_MODE:
4677 case SIZE_BASED_CLEANUP_MODE:
4678 case INTERVAL_LENGTH_MINUTES:
4679 case MAX_STORAGE_SIZE_MB:
4680 case DATA_FLUSH_INTERVAL_SECONDS:
4681 case CLEANUP_POLICY:
4682 case CUSTOM:
4683 case STALE_QUERY_THRESHOLD_DAYS:
4684 case OPERATION_MODE:
4685 case QUERY_STORE:
4686 case CURSOR_DEFAULT:
4687 case GLOBAL:
4688 case CURSOR_CLOSE_ON_COMMIT:
4689 case HOURS:
4690 case CHANGE_RETENTION:
4691 case AUTO_CLEANUP:
4692 case CHANGE_TRACKING:
4693 case AUTOMATIC_TUNING:
4694 case FORCE_LAST_GOOD_PLAN:
4695 case AUTO_UPDATE_STATISTICS_ASYNC:
4696 case AUTO_UPDATE_STATISTICS:
4697 case AUTO_SHRINK:
4698 case AUTO_CREATE_STATISTICS:
4699 case INCREMENTAL:
4700 case AUTO_CLOSE:
4701 case DATA_RETENTION:
4702 case TEMPORAL_HISTORY_RETENTION:
4703 case EDITION:
4704 case MIXED_PAGE_ALLOCATION:
4705 case DISABLED:
4706 case ALLOWED:
4707 case HADR:
4708 case MULTI_USER:
4709 case RESTRICTED_USER:
4710 case SINGLE_USER:
4711 case OFFLINE:
4712 case EMERGENCY:
4713 case SUSPEND:
4714 case DATE_CORRELATION_OPTIMIZATION:
4715 case ELASTIC_POOL:
4716 case SERVICE_OBJECTIVE:
4717 case DATABASE_NAME:
4718 case ALLOW_CONNECTIONS:
4719 case GEO:
4720 case NAMED:
4721 case DATEFIRST:
4722 case BACKUP_STORAGE_REDUNDANCY:
4723 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
4724 case SECONDARY:
4725 case FAILOVER:
4726 case DEFAULT_FULLTEXT_LANGUAGE:
4727 case DEFAULT_LANGUAGE:
4728 case INLINE:
4729 case NESTED_TRIGGERS:
4730 case TRANSFORM_NOISE_WORDS:
4731 case TWO_DIGIT_YEAR_CUTOFF:
4732 case PERSISTENT_LOG_BUFFER:
4733 case DIRECTORY_NAME:
4734 case DATEFORMAT:
4735 case DELAYED_DURABILITY:
4736 case AUTHORIZATION:
4737 case TRANSFER:
4738 case PROVIDER:
4739 case SEARCH:
4740 case MEMBER:
4741 case IDENTIFIER_:
4742 case DELIMITED_IDENTIFIER_:
4743 {
4744 setState(1238);
4745 name();
4746 }
4747 break;
4748 case DOLLAR_:
4749 {
4750 setState(1239);
4751 scriptVariableName();
4752 }
4753 break;
4754 default:
4755 throw new NoViableAltException(this);
4756 }
4757 }
4758 }
4759 catch (RecognitionException re) {
4760 _localctx.exception = re;
4761 _errHandler.reportError(this, re);
4762 _errHandler.recover(this, re);
4763 }
4764 finally {
4765 exitRule();
4766 }
4767 return _localctx;
4768 }
4769
4770 public static class ScriptVariableNameContext extends ParserRuleContext {
4771 public TerminalNode DOLLAR_() { return getToken(SQLServerStatementParser.DOLLAR_, 0); }
4772 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4773 public NameContext name() {
4774 return getRuleContext(NameContext.class,0);
4775 }
4776 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4777 public ScriptVariableNameContext(ParserRuleContext parent, int invokingState) {
4778 super(parent, invokingState);
4779 }
4780 @Override public int getRuleIndex() { return RULE_scriptVariableName; }
4781 @Override
4782 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4783 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitScriptVariableName(this);
4784 else return visitor.visitChildren(this);
4785 }
4786 }
4787
4788 public final ScriptVariableNameContext scriptVariableName() throws RecognitionException {
4789 ScriptVariableNameContext _localctx = new ScriptVariableNameContext(_ctx, getState());
4790 enterRule(_localctx, 74, RULE_scriptVariableName);
4791 try {
4792 enterOuterAlt(_localctx, 1);
4793 {
4794 setState(1242);
4795 match(DOLLAR_);
4796 setState(1243);
4797 match(LP_);
4798 setState(1244);
4799 name();
4800 setState(1245);
4801 match(RP_);
4802 }
4803 }
4804 catch (RecognitionException re) {
4805 _localctx.exception = re;
4806 _errHandler.reportError(this, re);
4807 _errHandler.recover(this, re);
4808 }
4809 finally {
4810 exitRule();
4811 }
4812 return _localctx;
4813 }
4814
4815 public static class OwnerContext extends ParserRuleContext {
4816 public IdentifierContext identifier() {
4817 return getRuleContext(IdentifierContext.class,0);
4818 }
4819 public OwnerContext(ParserRuleContext parent, int invokingState) {
4820 super(parent, invokingState);
4821 }
4822 @Override public int getRuleIndex() { return RULE_owner; }
4823 @Override
4824 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4825 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOwner(this);
4826 else return visitor.visitChildren(this);
4827 }
4828 }
4829
4830 public final OwnerContext owner() throws RecognitionException {
4831 OwnerContext _localctx = new OwnerContext(_ctx, getState());
4832 enterRule(_localctx, 76, RULE_owner);
4833 try {
4834 enterOuterAlt(_localctx, 1);
4835 {
4836 setState(1247);
4837 identifier();
4838 }
4839 }
4840 catch (RecognitionException re) {
4841 _localctx.exception = re;
4842 _errHandler.reportError(this, re);
4843 _errHandler.recover(this, re);
4844 }
4845 finally {
4846 exitRule();
4847 }
4848 return _localctx;
4849 }
4850
4851 public static class NameContext extends ParserRuleContext {
4852 public IdentifierContext identifier() {
4853 return getRuleContext(IdentifierContext.class,0);
4854 }
4855 public NameContext(ParserRuleContext parent, int invokingState) {
4856 super(parent, invokingState);
4857 }
4858 @Override public int getRuleIndex() { return RULE_name; }
4859 @Override
4860 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4861 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitName(this);
4862 else return visitor.visitChildren(this);
4863 }
4864 }
4865
4866 public final NameContext name() throws RecognitionException {
4867 NameContext _localctx = new NameContext(_ctx, getState());
4868 enterRule(_localctx, 78, RULE_name);
4869 try {
4870 enterOuterAlt(_localctx, 1);
4871 {
4872 setState(1249);
4873 identifier();
4874 }
4875 }
4876 catch (RecognitionException re) {
4877 _localctx.exception = re;
4878 _errHandler.reportError(this, re);
4879 _errHandler.recover(this, re);
4880 }
4881 finally {
4882 exitRule();
4883 }
4884 return _localctx;
4885 }
4886
4887 public static class ColumnNamesContext extends ParserRuleContext {
4888 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4889 public List<ColumnNameContext> columnName() {
4890 return getRuleContexts(ColumnNameContext.class);
4891 }
4892 public ColumnNameContext columnName(int i) {
4893 return getRuleContext(ColumnNameContext.class,i);
4894 }
4895 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4896 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
4897 public TerminalNode COMMA_(int i) {
4898 return getToken(SQLServerStatementParser.COMMA_, i);
4899 }
4900 public ColumnNamesContext(ParserRuleContext parent, int invokingState) {
4901 super(parent, invokingState);
4902 }
4903 @Override public int getRuleIndex() { return RULE_columnNames; }
4904 @Override
4905 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4906 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNames(this);
4907 else return visitor.visitChildren(this);
4908 }
4909 }
4910
4911 public final ColumnNamesContext columnNames() throws RecognitionException {
4912 ColumnNamesContext _localctx = new ColumnNamesContext(_ctx, getState());
4913 enterRule(_localctx, 80, RULE_columnNames);
4914 int _la;
4915 try {
4916 enterOuterAlt(_localctx, 1);
4917 {
4918 setState(1251);
4919 match(LP_);
4920 setState(1252);
4921 columnName();
4922 setState(1257);
4923 _errHandler.sync(this);
4924 _la = _input.LA(1);
4925 while (_la==COMMA_) {
4926 {
4927 {
4928 setState(1253);
4929 match(COMMA_);
4930 setState(1254);
4931 columnName();
4932 }
4933 }
4934 setState(1259);
4935 _errHandler.sync(this);
4936 _la = _input.LA(1);
4937 }
4938 setState(1260);
4939 match(RP_);
4940 }
4941 }
4942 catch (RecognitionException re) {
4943 _localctx.exception = re;
4944 _errHandler.reportError(this, re);
4945 _errHandler.recover(this, re);
4946 }
4947 finally {
4948 exitRule();
4949 }
4950 return _localctx;
4951 }
4952
4953 public static class ColumnNamesWithSortContext extends ParserRuleContext {
4954 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4955 public List<ColumnNameWithSortContext> columnNameWithSort() {
4956 return getRuleContexts(ColumnNameWithSortContext.class);
4957 }
4958 public ColumnNameWithSortContext columnNameWithSort(int i) {
4959 return getRuleContext(ColumnNameWithSortContext.class,i);
4960 }
4961 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4962 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
4963 public TerminalNode COMMA_(int i) {
4964 return getToken(SQLServerStatementParser.COMMA_, i);
4965 }
4966 public ColumnNamesWithSortContext(ParserRuleContext parent, int invokingState) {
4967 super(parent, invokingState);
4968 }
4969 @Override public int getRuleIndex() { return RULE_columnNamesWithSort; }
4970 @Override
4971 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4972 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNamesWithSort(this);
4973 else return visitor.visitChildren(this);
4974 }
4975 }
4976
4977 public final ColumnNamesWithSortContext columnNamesWithSort() throws RecognitionException {
4978 ColumnNamesWithSortContext _localctx = new ColumnNamesWithSortContext(_ctx, getState());
4979 enterRule(_localctx, 82, RULE_columnNamesWithSort);
4980 int _la;
4981 try {
4982 enterOuterAlt(_localctx, 1);
4983 {
4984 setState(1262);
4985 match(LP_);
4986 setState(1263);
4987 columnNameWithSort();
4988 setState(1268);
4989 _errHandler.sync(this);
4990 _la = _input.LA(1);
4991 while (_la==COMMA_) {
4992 {
4993 {
4994 setState(1264);
4995 match(COMMA_);
4996 setState(1265);
4997 columnNameWithSort();
4998 }
4999 }
5000 setState(1270);
5001 _errHandler.sync(this);
5002 _la = _input.LA(1);
5003 }
5004 setState(1271);
5005 match(RP_);
5006 }
5007 }
5008 catch (RecognitionException re) {
5009 _localctx.exception = re;
5010 _errHandler.reportError(this, re);
5011 _errHandler.recover(this, re);
5012 }
5013 finally {
5014 exitRule();
5015 }
5016 return _localctx;
5017 }
5018
5019 public static class TableNamesContext extends ParserRuleContext {
5020 public List<TableNameContext> tableName() {
5021 return getRuleContexts(TableNameContext.class);
5022 }
5023 public TableNameContext tableName(int i) {
5024 return getRuleContext(TableNameContext.class,i);
5025 }
5026 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5027 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
5028 public TerminalNode COMMA_(int i) {
5029 return getToken(SQLServerStatementParser.COMMA_, i);
5030 }
5031 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5032 public TableNamesContext(ParserRuleContext parent, int invokingState) {
5033 super(parent, invokingState);
5034 }
5035 @Override public int getRuleIndex() { return RULE_tableNames; }
5036 @Override
5037 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5038 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableNames(this);
5039 else return visitor.visitChildren(this);
5040 }
5041 }
5042
5043 public final TableNamesContext tableNames() throws RecognitionException {
5044 TableNamesContext _localctx = new TableNamesContext(_ctx, getState());
5045 enterRule(_localctx, 84, RULE_tableNames);
5046 int _la;
5047 try {
5048 enterOuterAlt(_localctx, 1);
5049 {
5050 setState(1274);
5051 _errHandler.sync(this);
5052 _la = _input.LA(1);
5053 if (_la==LP_) {
5054 {
5055 setState(1273);
5056 match(LP_);
5057 }
5058 }
5059
5060 setState(1276);
5061 tableName();
5062 setState(1281);
5063 _errHandler.sync(this);
5064 _la = _input.LA(1);
5065 while (_la==COMMA_) {
5066 {
5067 {
5068 setState(1277);
5069 match(COMMA_);
5070 setState(1278);
5071 tableName();
5072 }
5073 }
5074 setState(1283);
5075 _errHandler.sync(this);
5076 _la = _input.LA(1);
5077 }
5078 setState(1285);
5079 _errHandler.sync(this);
5080 _la = _input.LA(1);
5081 if (_la==RP_) {
5082 {
5083 setState(1284);
5084 match(RP_);
5085 }
5086 }
5087
5088 }
5089 }
5090 catch (RecognitionException re) {
5091 _localctx.exception = re;
5092 _errHandler.reportError(this, re);
5093 _errHandler.recover(this, re);
5094 }
5095 finally {
5096 exitRule();
5097 }
5098 return _localctx;
5099 }
5100
5101 public static class IndexNameContext extends ParserRuleContext {
5102 public IdentifierContext identifier() {
5103 return getRuleContext(IdentifierContext.class,0);
5104 }
5105 public IndexNameContext(ParserRuleContext parent, int invokingState) {
5106 super(parent, invokingState);
5107 }
5108 @Override public int getRuleIndex() { return RULE_indexName; }
5109 @Override
5110 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5111 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexName(this);
5112 else return visitor.visitChildren(this);
5113 }
5114 }
5115
5116 public final IndexNameContext indexName() throws RecognitionException {
5117 IndexNameContext _localctx = new IndexNameContext(_ctx, getState());
5118 enterRule(_localctx, 86, RULE_indexName);
5119 try {
5120 enterOuterAlt(_localctx, 1);
5121 {
5122 setState(1287);
5123 identifier();
5124 }
5125 }
5126 catch (RecognitionException re) {
5127 _localctx.exception = re;
5128 _errHandler.reportError(this, re);
5129 _errHandler.recover(this, re);
5130 }
5131 finally {
5132 exitRule();
5133 }
5134 return _localctx;
5135 }
5136
5137 public static class ConstraintNameContext extends ParserRuleContext {
5138 public IdentifierContext identifier() {
5139 return getRuleContext(IdentifierContext.class,0);
5140 }
5141 public ConstraintNameContext(ParserRuleContext parent, int invokingState) {
5142 super(parent, invokingState);
5143 }
5144 @Override public int getRuleIndex() { return RULE_constraintName; }
5145 @Override
5146 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5147 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConstraintName(this);
5148 else return visitor.visitChildren(this);
5149 }
5150 }
5151
5152 public final ConstraintNameContext constraintName() throws RecognitionException {
5153 ConstraintNameContext _localctx = new ConstraintNameContext(_ctx, getState());
5154 enterRule(_localctx, 88, RULE_constraintName);
5155 try {
5156 enterOuterAlt(_localctx, 1);
5157 {
5158 setState(1289);
5159 identifier();
5160 }
5161 }
5162 catch (RecognitionException re) {
5163 _localctx.exception = re;
5164 _errHandler.reportError(this, re);
5165 _errHandler.recover(this, re);
5166 }
5167 finally {
5168 exitRule();
5169 }
5170 return _localctx;
5171 }
5172
5173 public static class CollationNameContext extends ParserRuleContext {
5174 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
5175 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
5176 public CollationNameContext(ParserRuleContext parent, int invokingState) {
5177 super(parent, invokingState);
5178 }
5179 @Override public int getRuleIndex() { return RULE_collationName; }
5180 @Override
5181 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5182 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCollationName(this);
5183 else return visitor.visitChildren(this);
5184 }
5185 }
5186
5187 public final CollationNameContext collationName() throws RecognitionException {
5188 CollationNameContext _localctx = new CollationNameContext(_ctx, getState());
5189 enterRule(_localctx, 90, RULE_collationName);
5190 int _la;
5191 try {
5192 enterOuterAlt(_localctx, 1);
5193 {
5194 setState(1291);
5195 _la = _input.LA(1);
5196 if ( !(_la==IDENTIFIER_ || _la==STRING_) ) {
5197 _errHandler.recoverInline(this);
5198 }
5199 else {
5200 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
5201 _errHandler.reportMatch(this);
5202 consume();
5203 }
5204 }
5205 }
5206 catch (RecognitionException re) {
5207 _localctx.exception = re;
5208 _errHandler.reportError(this, re);
5209 _errHandler.recover(this, re);
5210 }
5211 finally {
5212 exitRule();
5213 }
5214 return _localctx;
5215 }
5216
5217 public static class AliasContext extends ParserRuleContext {
5218 public IdentifierContext identifier() {
5219 return getRuleContext(IdentifierContext.class,0);
5220 }
5221 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
5222 public AliasContext(ParserRuleContext parent, int invokingState) {
5223 super(parent, invokingState);
5224 }
5225 @Override public int getRuleIndex() { return RULE_alias; }
5226 @Override
5227 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5228 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlias(this);
5229 else return visitor.visitChildren(this);
5230 }
5231 }
5232
5233 public final AliasContext alias() throws RecognitionException {
5234 AliasContext _localctx = new AliasContext(_ctx, getState());
5235 enterRule(_localctx, 92, RULE_alias);
5236 try {
5237 setState(1295);
5238 _errHandler.sync(this);
5239 switch (_input.LA(1)) {
5240 case TRUNCATE:
5241 case SCHEMA:
5242 case COLUMNS:
5243 case PRECISION:
5244 case FUNCTION:
5245 case TRIGGER:
5246 case CAST:
5247 case SUBSTRING:
5248 case OFF:
5249 case GROUP:
5250 case LIMIT:
5251 case OFFSET:
5252 case SAVEPOINT:
5253 case BOOLEAN:
5254 case ARRAY:
5255 case DATE:
5256 case LOCALTIME:
5257 case LOCALTIMESTAMP:
5258 case QUARTER:
5259 case WEEK:
5260 case DAY:
5261 case SECOND:
5262 case MICROSECOND:
5263 case MAX:
5264 case MIN:
5265 case SUM:
5266 case COUNT:
5267 case AVG:
5268 case ENABLE:
5269 case DISABLE:
5270 case INSTANCE:
5271 case DO:
5272 case DEFINER:
5273 case SQL:
5274 case CASCADED:
5275 case LOCAL:
5276 case NEXT:
5277 case NAME:
5278 case INTEGER:
5279 case TYPE:
5280 case TEXT:
5281 case VIEWS:
5282 case READ_ONLY:
5283 case DATABASE:
5284 case RETURNS:
5285 case DATEPART:
5286 case PASSWORD:
5287 case BINARY:
5288 case HIDDEN_:
5289 case MOD:
5290 case PARTITION:
5291 case PARTITIONS:
5292 case TOP:
5293 case ROW:
5294 case ROWS:
5295 case XOR:
5296 case ALWAYS:
5297 case ROLE:
5298 case START:
5299 case ALGORITHM:
5300 case AUTO:
5301 case BLOCKERS:
5302 case CLUSTERED:
5303 case NONCLUSTERED:
5304 case COLUMNSTORE:
5305 case CONTENT:
5306 case YEARS:
5307 case MONTHS:
5308 case WEEKS:
5309 case DAYS:
5310 case MINUTES:
5311 case DENY:
5312 case DETERMINISTIC:
5313 case DISTRIBUTION:
5314 case DOCUMENT:
5315 case DURABILITY:
5316 case ENCRYPTED:
5317 case FILESTREAM:
5318 case FILETABLE:
5319 case FILLFACTOR:
5320 case FOLLOWING:
5321 case HASH:
5322 case HEAP:
5323 case INBOUND:
5324 case OUTBOUND:
5325 case UNBOUNDED:
5326 case INFINITE:
5327 case LOGIN:
5328 case MASKED:
5329 case MAXDOP:
5330 case MOVE:
5331 case NOCHECK:
5332 case OBJECT:
5333 case ONLINE:
5334 case OVER:
5335 case PAGE:
5336 case PAUSED:
5337 case PERIOD:
5338 case PERSISTED:
5339 case PRECEDING:
5340 case RANDOMIZED:
5341 case RANGE:
5342 case REBUILD:
5343 case REPLICATE:
5344 case REPLICATION:
5345 case RESUMABLE:
5346 case ROWGUIDCOL:
5347 case SAVE:
5348 case SELF:
5349 case SPARSE:
5350 case SWITCH:
5351 case TRAN:
5352 case TRANCOUNT:
5353 case CONTROL:
5354 case CONCAT:
5355 case TAKE:
5356 case OWNERSHIP:
5357 case DEFINITION:
5358 case APPLICATION:
5359 case ASSEMBLY:
5360 case SYMMETRIC:
5361 case ASYMMETRIC:
5362 case SERVER:
5363 case RECEIVE:
5364 case CHANGE:
5365 case TRACE:
5366 case TRACKING:
5367 case RESOURCES:
5368 case SETTINGS:
5369 case STATE:
5370 case AVAILABILITY:
5371 case CREDENTIAL:
5372 case ENDPOINT:
5373 case EVENT:
5374 case NOTIFICATION:
5375 case LINKED:
5376 case AUDIT:
5377 case DDL:
5378 case XML:
5379 case IMPERSONATE:
5380 case SECURABLES:
5381 case AUTHENTICATE:
5382 case EXTERNAL:
5383 case ACCESS:
5384 case ADMINISTER:
5385 case BULK:
5386 case OPERATIONS:
5387 case UNSAFE:
5388 case SHUTDOWN:
5389 case SCOPED:
5390 case CONFIGURATION:
5391 case DATASPACE:
5392 case SERVICE:
5393 case CERTIFICATE:
5394 case CONTRACT:
5395 case ENCRYPTION:
5396 case MASTER:
5397 case DATA:
5398 case SOURCE:
5399 case FILE:
5400 case FORMAT:
5401 case LIBRARY:
5402 case FULLTEXT:
5403 case MASK:
5404 case UNMASK:
5405 case MESSAGE:
5406 case REMOTE:
5407 case BINDING:
5408 case ROUTE:
5409 case SECURITY:
5410 case POLICY:
5411 case AGGREGATE:
5412 case QUEUE:
5413 case RULE:
5414 case SYNONYM:
5415 case COLLECTION:
5416 case SCRIPT:
5417 case KILL:
5418 case BACKUP:
5419 case LOG:
5420 case SHOWPLAN:
5421 case SUBSCRIBE:
5422 case QUERY:
5423 case NOTIFICATIONS:
5424 case CHECKPOINT:
5425 case SEQUENCE:
5426 case ABORT_AFTER_WAIT:
5427 case ALLOW_PAGE_LOCKS:
5428 case ALLOW_ROW_LOCKS:
5429 case ALL_SPARSE_COLUMNS:
5430 case BUCKET_COUNT:
5431 case COLUMNSTORE_ARCHIVE:
5432 case COLUMN_ENCRYPTION_KEY:
5433 case COLUMN_SET:
5434 case COMPRESSION_DELAY:
5435 case DATABASE_DEAULT:
5436 case DATA_COMPRESSION:
5437 case DATA_CONSISTENCY_CHECK:
5438 case ENCRYPTION_TYPE:
5439 case SYSTEM_TIME:
5440 case SYSTEM_VERSIONING:
5441 case TEXTIMAGE_ON:
5442 case WAIT_AT_LOW_PRIORITY:
5443 case STATISTICS_INCREMENTAL:
5444 case STATISTICS_NORECOMPUTE:
5445 case ROUND_ROBIN:
5446 case SCHEMA_AND_DATA:
5447 case SCHEMA_ONLY:
5448 case SORT_IN_TEMPDB:
5449 case IGNORE_DUP_KEY:
5450 case IMPLICIT_TRANSACTIONS:
5451 case MAX_DURATION:
5452 case MEMORY_OPTIMIZED:
5453 case MIGRATION_STATE:
5454 case PAD_INDEX:
5455 case REMOTE_DATA_ARCHIVE:
5456 case FILESTREAM_ON:
5457 case FILETABLE_COLLATE_FILENAME:
5458 case FILETABLE_DIRECTORY:
5459 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
5460 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
5461 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
5462 case FILTER_PREDICATE:
5463 case HISTORY_RETENTION_PERIOD:
5464 case HISTORY_TABLE:
5465 case LOCK_ESCALATION:
5466 case DROP_EXISTING:
5467 case ROW_NUMBER:
5468 case FIRST:
5469 case DATETIME2:
5470 case OUTPUT:
5471 case INSERTED:
5472 case DELETED:
5473 case FILENAME:
5474 case MAXSIZE:
5475 case FILEGROWTH:
5476 case UNLIMITED:
5477 case KB:
5478 case MB:
5479 case GB:
5480 case TB:
5481 case MEMORY_OPTIMIZED_DATA:
5482 case FILEGROUP:
5483 case NON_TRANSACTED_ACCESS:
5484 case DB_CHAINING:
5485 case TRUSTWORTHY:
5486 case FORWARD_ONLY:
5487 case KEYSET:
5488 case FAST_FORWARD:
5489 case SCROLL_LOCKS:
5490 case OPTIMISTIC:
5491 case TYPE_WARNING:
5492 case SCHEMABINDING:
5493 case CALLER:
5494 case OWNER:
5495 case SNAPSHOT:
5496 case REPEATABLE:
5497 case SERIALIZABLE:
5498 case NATIVE_COMPILATION:
5499 case VIEW_METADATA:
5500 case INSTEAD:
5501 case APPEND:
5502 case INCREMENT:
5503 case CACHE:
5504 case MINVALUE:
5505 case MAXVALUE:
5506 case RESTART:
5507 case LOB_COMPACTION:
5508 case COMPRESS_ALL_ROW_GROUPS:
5509 case REORGANIZE:
5510 case RESUME:
5511 case PAUSE:
5512 case ABORT:
5513 case ACCELERATED_DATABASE_RECOVERY:
5514 case PERSISTENT_VERSION_STORE_FILEGROUP:
5515 case IMMEDIATE:
5516 case NO_WAIT:
5517 case TARGET_RECOVERY_TIME:
5518 case SECONDS:
5519 case HONOR_BROKER_PRIORITY:
5520 case ERROR_BROKER_CONVERSATIONS:
5521 case NEW_BROKER:
5522 case DISABLE_BROKER:
5523 case ENABLE_BROKER:
5524 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
5525 case READ_COMMITTED_SNAPSHOT:
5526 case ALLOW_SNAPSHOT_ISOLATION:
5527 case RECURSIVE_TRIGGERS:
5528 case QUOTED_IDENTIFIER:
5529 case NUMERIC_ROUNDABORT:
5530 case CONCAT_NULL_YIELDS_NULL:
5531 case COMPATIBILITY_LEVEL:
5532 case ARITHABORT:
5533 case ANSI_WARNINGS:
5534 case ANSI_PADDING:
5535 case ANSI_NULLS:
5536 case ANSI_NULL_DEFAULT:
5537 case PAGE_VERIFY:
5538 case CHECKSUM:
5539 case TORN_PAGE_DETECTION:
5540 case BULK_LOGGED:
5541 case RECOVERY:
5542 case TOTAL_EXECUTION_CPU_TIME_MS:
5543 case TOTAL_COMPILE_CPU_TIME_MS:
5544 case STALE_CAPTURE_POLICY_THRESHOLD:
5545 case EXECUTION_COUNT:
5546 case QUERY_CAPTURE_POLICY:
5547 case WAIT_STATS_CAPTURE_MODE:
5548 case MAX_PLANS_PER_QUERY:
5549 case QUERY_CAPTURE_MODE:
5550 case SIZE_BASED_CLEANUP_MODE:
5551 case INTERVAL_LENGTH_MINUTES:
5552 case MAX_STORAGE_SIZE_MB:
5553 case DATA_FLUSH_INTERVAL_SECONDS:
5554 case CLEANUP_POLICY:
5555 case CUSTOM:
5556 case STALE_QUERY_THRESHOLD_DAYS:
5557 case OPERATION_MODE:
5558 case QUERY_STORE:
5559 case CURSOR_DEFAULT:
5560 case GLOBAL:
5561 case CURSOR_CLOSE_ON_COMMIT:
5562 case HOURS:
5563 case CHANGE_RETENTION:
5564 case AUTO_CLEANUP:
5565 case CHANGE_TRACKING:
5566 case AUTOMATIC_TUNING:
5567 case FORCE_LAST_GOOD_PLAN:
5568 case AUTO_UPDATE_STATISTICS_ASYNC:
5569 case AUTO_UPDATE_STATISTICS:
5570 case AUTO_SHRINK:
5571 case AUTO_CREATE_STATISTICS:
5572 case INCREMENTAL:
5573 case AUTO_CLOSE:
5574 case DATA_RETENTION:
5575 case TEMPORAL_HISTORY_RETENTION:
5576 case EDITION:
5577 case MIXED_PAGE_ALLOCATION:
5578 case DISABLED:
5579 case ALLOWED:
5580 case HADR:
5581 case MULTI_USER:
5582 case RESTRICTED_USER:
5583 case SINGLE_USER:
5584 case OFFLINE:
5585 case EMERGENCY:
5586 case SUSPEND:
5587 case DATE_CORRELATION_OPTIMIZATION:
5588 case ELASTIC_POOL:
5589 case SERVICE_OBJECTIVE:
5590 case DATABASE_NAME:
5591 case ALLOW_CONNECTIONS:
5592 case GEO:
5593 case NAMED:
5594 case DATEFIRST:
5595 case BACKUP_STORAGE_REDUNDANCY:
5596 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
5597 case SECONDARY:
5598 case FAILOVER:
5599 case DEFAULT_FULLTEXT_LANGUAGE:
5600 case DEFAULT_LANGUAGE:
5601 case INLINE:
5602 case NESTED_TRIGGERS:
5603 case TRANSFORM_NOISE_WORDS:
5604 case TWO_DIGIT_YEAR_CUTOFF:
5605 case PERSISTENT_LOG_BUFFER:
5606 case DIRECTORY_NAME:
5607 case DATEFORMAT:
5608 case DELAYED_DURABILITY:
5609 case AUTHORIZATION:
5610 case TRANSFER:
5611 case PROVIDER:
5612 case SEARCH:
5613 case MEMBER:
5614 case IDENTIFIER_:
5615 case DELIMITED_IDENTIFIER_:
5616 enterOuterAlt(_localctx, 1);
5617 {
5618 setState(1293);
5619 identifier();
5620 }
5621 break;
5622 case STRING_:
5623 enterOuterAlt(_localctx, 2);
5624 {
5625 setState(1294);
5626 match(STRING_);
5627 }
5628 break;
5629 default:
5630 throw new NoViableAltException(this);
5631 }
5632 }
5633 catch (RecognitionException re) {
5634 _localctx.exception = re;
5635 _errHandler.reportError(this, re);
5636 _errHandler.recover(this, re);
5637 }
5638 finally {
5639 exitRule();
5640 }
5641 return _localctx;
5642 }
5643
5644 public static class DataTypeLengthContext extends ParserRuleContext {
5645 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5646 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5647 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
5648 public TerminalNode NUMBER_(int i) {
5649 return getToken(SQLServerStatementParser.NUMBER_, i);
5650 }
5651 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
5652 public DataTypeLengthContext(ParserRuleContext parent, int invokingState) {
5653 super(parent, invokingState);
5654 }
5655 @Override public int getRuleIndex() { return RULE_dataTypeLength; }
5656 @Override
5657 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5658 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataTypeLength(this);
5659 else return visitor.visitChildren(this);
5660 }
5661 }
5662
5663 public final DataTypeLengthContext dataTypeLength() throws RecognitionException {
5664 DataTypeLengthContext _localctx = new DataTypeLengthContext(_ctx, getState());
5665 enterRule(_localctx, 94, RULE_dataTypeLength);
5666 int _la;
5667 try {
5668 enterOuterAlt(_localctx, 1);
5669 {
5670 setState(1297);
5671 match(LP_);
5672 setState(1303);
5673 _errHandler.sync(this);
5674 _la = _input.LA(1);
5675 if (_la==NUMBER_) {
5676 {
5677 setState(1298);
5678 match(NUMBER_);
5679 setState(1301);
5680 _errHandler.sync(this);
5681 _la = _input.LA(1);
5682 if (_la==COMMA_) {
5683 {
5684 setState(1299);
5685 match(COMMA_);
5686 setState(1300);
5687 match(NUMBER_);
5688 }
5689 }
5690
5691 }
5692 }
5693
5694 setState(1305);
5695 match(RP_);
5696 }
5697 }
5698 catch (RecognitionException re) {
5699 _localctx.exception = re;
5700 _errHandler.reportError(this, re);
5701 _errHandler.recover(this, re);
5702 }
5703 finally {
5704 exitRule();
5705 }
5706 return _localctx;
5707 }
5708
5709 public static class PrimaryKeyContext extends ParserRuleContext {
5710 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
5711 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
5712 public PrimaryKeyContext(ParserRuleContext parent, int invokingState) {
5713 super(parent, invokingState);
5714 }
5715 @Override public int getRuleIndex() { return RULE_primaryKey; }
5716 @Override
5717 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5718 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKey(this);
5719 else return visitor.visitChildren(this);
5720 }
5721 }
5722
5723 public final PrimaryKeyContext primaryKey() throws RecognitionException {
5724 PrimaryKeyContext _localctx = new PrimaryKeyContext(_ctx, getState());
5725 enterRule(_localctx, 96, RULE_primaryKey);
5726 int _la;
5727 try {
5728 enterOuterAlt(_localctx, 1);
5729 {
5730 setState(1308);
5731 _errHandler.sync(this);
5732 _la = _input.LA(1);
5733 if (_la==PRIMARY) {
5734 {
5735 setState(1307);
5736 match(PRIMARY);
5737 }
5738 }
5739
5740 setState(1310);
5741 match(KEY);
5742 }
5743 }
5744 catch (RecognitionException re) {
5745 _localctx.exception = re;
5746 _errHandler.reportError(this, re);
5747 _errHandler.recover(this, re);
5748 }
5749 finally {
5750 exitRule();
5751 }
5752 return _localctx;
5753 }
5754
5755 public static class ExprContext extends ParserRuleContext {
5756 public NotOperatorContext notOperator() {
5757 return getRuleContext(NotOperatorContext.class,0);
5758 }
5759 public List<ExprContext> expr() {
5760 return getRuleContexts(ExprContext.class);
5761 }
5762 public ExprContext expr(int i) {
5763 return getRuleContext(ExprContext.class,i);
5764 }
5765 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5766 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5767 public BooleanPrimaryContext booleanPrimary() {
5768 return getRuleContext(BooleanPrimaryContext.class,0);
5769 }
5770 public AndOperatorContext andOperator() {
5771 return getRuleContext(AndOperatorContext.class,0);
5772 }
5773 public OrOperatorContext orOperator() {
5774 return getRuleContext(OrOperatorContext.class,0);
5775 }
5776 public ExprContext(ParserRuleContext parent, int invokingState) {
5777 super(parent, invokingState);
5778 }
5779 @Override public int getRuleIndex() { return RULE_expr; }
5780 @Override
5781 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5782 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExpr(this);
5783 else return visitor.visitChildren(this);
5784 }
5785 }
5786
5787 public final ExprContext expr() throws RecognitionException {
5788 return expr(0);
5789 }
5790
5791 private ExprContext expr(int _p) throws RecognitionException {
5792 ParserRuleContext _parentctx = _ctx;
5793 int _parentState = getState();
5794 ExprContext _localctx = new ExprContext(_ctx, _parentState);
5795 ExprContext _prevctx = _localctx;
5796 int _startState = 98;
5797 enterRecursionRule(_localctx, 98, RULE_expr, _p);
5798 try {
5799 int _alt;
5800 enterOuterAlt(_localctx, 1);
5801 {
5802 setState(1321);
5803 _errHandler.sync(this);
5804 switch ( getInterpreter().adaptivePredict(_input,41,_ctx) ) {
5805 case 1:
5806 {
5807 setState(1313);
5808 notOperator();
5809 setState(1314);
5810 expr(3);
5811 }
5812 break;
5813 case 2:
5814 {
5815 setState(1316);
5816 match(LP_);
5817 setState(1317);
5818 expr(0);
5819 setState(1318);
5820 match(RP_);
5821 }
5822 break;
5823 case 3:
5824 {
5825 setState(1320);
5826 booleanPrimary(0);
5827 }
5828 break;
5829 }
5830 _ctx.stop = _input.LT(-1);
5831 setState(1333);
5832 _errHandler.sync(this);
5833 _alt = getInterpreter().adaptivePredict(_input,43,_ctx);
5834 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
5835 if ( _alt==1 ) {
5836 if ( _parseListeners!=null ) triggerExitRuleEvent();
5837 _prevctx = _localctx;
5838 {
5839 setState(1331);
5840 _errHandler.sync(this);
5841 switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) {
5842 case 1:
5843 {
5844 _localctx = new ExprContext(_parentctx, _parentState);
5845 pushNewRecursionContext(_localctx, _startState, RULE_expr);
5846 setState(1323);
5847 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
5848 setState(1324);
5849 andOperator();
5850 setState(1325);
5851 expr(6);
5852 }
5853 break;
5854 case 2:
5855 {
5856 _localctx = new ExprContext(_parentctx, _parentState);
5857 pushNewRecursionContext(_localctx, _startState, RULE_expr);
5858 setState(1327);
5859 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
5860 setState(1328);
5861 orOperator();
5862 setState(1329);
5863 expr(5);
5864 }
5865 break;
5866 }
5867 }
5868 }
5869 setState(1335);
5870 _errHandler.sync(this);
5871 _alt = getInterpreter().adaptivePredict(_input,43,_ctx);
5872 }
5873 }
5874 }
5875 catch (RecognitionException re) {
5876 _localctx.exception = re;
5877 _errHandler.reportError(this, re);
5878 _errHandler.recover(this, re);
5879 }
5880 finally {
5881 unrollRecursionContexts(_parentctx);
5882 }
5883 return _localctx;
5884 }
5885
5886 public static class AndOperatorContext extends ParserRuleContext {
5887 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
5888 public TerminalNode AND_() { return getToken(SQLServerStatementParser.AND_, 0); }
5889 public AndOperatorContext(ParserRuleContext parent, int invokingState) {
5890 super(parent, invokingState);
5891 }
5892 @Override public int getRuleIndex() { return RULE_andOperator; }
5893 @Override
5894 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5895 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAndOperator(this);
5896 else return visitor.visitChildren(this);
5897 }
5898 }
5899
5900 public final AndOperatorContext andOperator() throws RecognitionException {
5901 AndOperatorContext _localctx = new AndOperatorContext(_ctx, getState());
5902 enterRule(_localctx, 100, RULE_andOperator);
5903 int _la;
5904 try {
5905 enterOuterAlt(_localctx, 1);
5906 {
5907 setState(1336);
5908 _la = _input.LA(1);
5909 if ( !(_la==AND_ || _la==AND) ) {
5910 _errHandler.recoverInline(this);
5911 }
5912 else {
5913 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
5914 _errHandler.reportMatch(this);
5915 consume();
5916 }
5917 }
5918 }
5919 catch (RecognitionException re) {
5920 _localctx.exception = re;
5921 _errHandler.reportError(this, re);
5922 _errHandler.recover(this, re);
5923 }
5924 finally {
5925 exitRule();
5926 }
5927 return _localctx;
5928 }
5929
5930 public static class OrOperatorContext extends ParserRuleContext {
5931 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
5932 public TerminalNode OR_() { return getToken(SQLServerStatementParser.OR_, 0); }
5933 public OrOperatorContext(ParserRuleContext parent, int invokingState) {
5934 super(parent, invokingState);
5935 }
5936 @Override public int getRuleIndex() { return RULE_orOperator; }
5937 @Override
5938 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5939 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrOperator(this);
5940 else return visitor.visitChildren(this);
5941 }
5942 }
5943
5944 public final OrOperatorContext orOperator() throws RecognitionException {
5945 OrOperatorContext _localctx = new OrOperatorContext(_ctx, getState());
5946 enterRule(_localctx, 102, RULE_orOperator);
5947 int _la;
5948 try {
5949 enterOuterAlt(_localctx, 1);
5950 {
5951 setState(1338);
5952 _la = _input.LA(1);
5953 if ( !(_la==OR_ || _la==OR) ) {
5954 _errHandler.recoverInline(this);
5955 }
5956 else {
5957 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
5958 _errHandler.reportMatch(this);
5959 consume();
5960 }
5961 }
5962 }
5963 catch (RecognitionException re) {
5964 _localctx.exception = re;
5965 _errHandler.reportError(this, re);
5966 _errHandler.recover(this, re);
5967 }
5968 finally {
5969 exitRule();
5970 }
5971 return _localctx;
5972 }
5973
5974 public static class NotOperatorContext extends ParserRuleContext {
5975 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
5976 public TerminalNode NOT_() { return getToken(SQLServerStatementParser.NOT_, 0); }
5977 public NotOperatorContext(ParserRuleContext parent, int invokingState) {
5978 super(parent, invokingState);
5979 }
5980 @Override public int getRuleIndex() { return RULE_notOperator; }
5981 @Override
5982 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5983 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNotOperator(this);
5984 else return visitor.visitChildren(this);
5985 }
5986 }
5987
5988 public final NotOperatorContext notOperator() throws RecognitionException {
5989 NotOperatorContext _localctx = new NotOperatorContext(_ctx, getState());
5990 enterRule(_localctx, 104, RULE_notOperator);
5991 int _la;
5992 try {
5993 enterOuterAlt(_localctx, 1);
5994 {
5995 setState(1340);
5996 _la = _input.LA(1);
5997 if ( !(_la==NOT_ || _la==NOT) ) {
5998 _errHandler.recoverInline(this);
5999 }
6000 else {
6001 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6002 _errHandler.reportMatch(this);
6003 consume();
6004 }
6005 }
6006 }
6007 catch (RecognitionException re) {
6008 _localctx.exception = re;
6009 _errHandler.reportError(this, re);
6010 _errHandler.recover(this, re);
6011 }
6012 finally {
6013 exitRule();
6014 }
6015 return _localctx;
6016 }
6017
6018 public static class BooleanPrimaryContext extends ParserRuleContext {
6019 public PredicateContext predicate() {
6020 return getRuleContext(PredicateContext.class,0);
6021 }
6022 public BooleanPrimaryContext booleanPrimary() {
6023 return getRuleContext(BooleanPrimaryContext.class,0);
6024 }
6025 public TerminalNode IS() { return getToken(SQLServerStatementParser.IS, 0); }
6026 public TerminalNode TRUE() { return getToken(SQLServerStatementParser.TRUE, 0); }
6027 public TerminalNode FALSE() { return getToken(SQLServerStatementParser.FALSE, 0); }
6028 public TerminalNode UNKNOWN() { return getToken(SQLServerStatementParser.UNKNOWN, 0); }
6029 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
6030 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6031 public TerminalNode SAFE_EQ_() { return getToken(SQLServerStatementParser.SAFE_EQ_, 0); }
6032 public ComparisonOperatorContext comparisonOperator() {
6033 return getRuleContext(ComparisonOperatorContext.class,0);
6034 }
6035 public SubqueryContext subquery() {
6036 return getRuleContext(SubqueryContext.class,0);
6037 }
6038 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
6039 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
6040 public BooleanPrimaryContext(ParserRuleContext parent, int invokingState) {
6041 super(parent, invokingState);
6042 }
6043 @Override public int getRuleIndex() { return RULE_booleanPrimary; }
6044 @Override
6045 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6046 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBooleanPrimary(this);
6047 else return visitor.visitChildren(this);
6048 }
6049 }
6050
6051 public final BooleanPrimaryContext booleanPrimary() throws RecognitionException {
6052 return booleanPrimary(0);
6053 }
6054
6055 private BooleanPrimaryContext booleanPrimary(int _p) throws RecognitionException {
6056 ParserRuleContext _parentctx = _ctx;
6057 int _parentState = getState();
6058 BooleanPrimaryContext _localctx = new BooleanPrimaryContext(_ctx, _parentState);
6059 BooleanPrimaryContext _prevctx = _localctx;
6060 int _startState = 106;
6061 enterRecursionRule(_localctx, 106, RULE_booleanPrimary, _p);
6062 int _la;
6063 try {
6064 int _alt;
6065 enterOuterAlt(_localctx, 1);
6066 {
6067 {
6068 setState(1343);
6069 predicate();
6070 }
6071 _ctx.stop = _input.LT(-1);
6072 setState(1365);
6073 _errHandler.sync(this);
6074 _alt = getInterpreter().adaptivePredict(_input,46,_ctx);
6075 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6076 if ( _alt==1 ) {
6077 if ( _parseListeners!=null ) triggerExitRuleEvent();
6078 _prevctx = _localctx;
6079 {
6080 setState(1363);
6081 _errHandler.sync(this);
6082 switch ( getInterpreter().adaptivePredict(_input,45,_ctx) ) {
6083 case 1:
6084 {
6085 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6086 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6087 setState(1345);
6088 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
6089 setState(1346);
6090 match(IS);
6091 setState(1348);
6092 _errHandler.sync(this);
6093 _la = _input.LA(1);
6094 if (_la==NOT) {
6095 {
6096 setState(1347);
6097 match(NOT);
6098 }
6099 }
6100
6101 setState(1350);
6102 _la = _input.LA(1);
6103 if ( !(((((_la - 108)) & ~0x3f) == 0 && ((1L << (_la - 108)) & ((1L << (NULL - 108)) | (1L << (TRUE - 108)) | (1L << (FALSE - 108)))) != 0) || _la==UNKNOWN) ) {
6104 _errHandler.recoverInline(this);
6105 }
6106 else {
6107 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6108 _errHandler.reportMatch(this);
6109 consume();
6110 }
6111 }
6112 break;
6113 case 2:
6114 {
6115 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6116 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6117 setState(1351);
6118 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
6119 setState(1352);
6120 match(SAFE_EQ_);
6121 setState(1353);
6122 predicate();
6123 }
6124 break;
6125 case 3:
6126 {
6127 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6128 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6129 setState(1354);
6130 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
6131 setState(1355);
6132 comparisonOperator();
6133 setState(1356);
6134 predicate();
6135 }
6136 break;
6137 case 4:
6138 {
6139 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6140 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6141 setState(1358);
6142 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
6143 setState(1359);
6144 comparisonOperator();
6145 setState(1360);
6146 _la = _input.LA(1);
6147 if ( !(_la==ALL || _la==ANY) ) {
6148 _errHandler.recoverInline(this);
6149 }
6150 else {
6151 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6152 _errHandler.reportMatch(this);
6153 consume();
6154 }
6155 setState(1361);
6156 subquery();
6157 }
6158 break;
6159 }
6160 }
6161 }
6162 setState(1367);
6163 _errHandler.sync(this);
6164 _alt = getInterpreter().adaptivePredict(_input,46,_ctx);
6165 }
6166 }
6167 }
6168 catch (RecognitionException re) {
6169 _localctx.exception = re;
6170 _errHandler.reportError(this, re);
6171 _errHandler.recover(this, re);
6172 }
6173 finally {
6174 unrollRecursionContexts(_parentctx);
6175 }
6176 return _localctx;
6177 }
6178
6179 public static class ComparisonOperatorContext extends ParserRuleContext {
6180 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
6181 public TerminalNode GTE_() { return getToken(SQLServerStatementParser.GTE_, 0); }
6182 public TerminalNode GT_() { return getToken(SQLServerStatementParser.GT_, 0); }
6183 public TerminalNode LTE_() { return getToken(SQLServerStatementParser.LTE_, 0); }
6184 public TerminalNode LT_() { return getToken(SQLServerStatementParser.LT_, 0); }
6185 public TerminalNode NEQ_() { return getToken(SQLServerStatementParser.NEQ_, 0); }
6186 public ComparisonOperatorContext(ParserRuleContext parent, int invokingState) {
6187 super(parent, invokingState);
6188 }
6189 @Override public int getRuleIndex() { return RULE_comparisonOperator; }
6190 @Override
6191 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6192 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComparisonOperator(this);
6193 else return visitor.visitChildren(this);
6194 }
6195 }
6196
6197 public final ComparisonOperatorContext comparisonOperator() throws RecognitionException {
6198 ComparisonOperatorContext _localctx = new ComparisonOperatorContext(_ctx, getState());
6199 enterRule(_localctx, 108, RULE_comparisonOperator);
6200 int _la;
6201 try {
6202 enterOuterAlt(_localctx, 1);
6203 {
6204 setState(1368);
6205 _la = _input.LA(1);
6206 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << EQ_) | (1L << NEQ_) | (1L << GT_) | (1L << GTE_) | (1L << LT_) | (1L << LTE_))) != 0)) ) {
6207 _errHandler.recoverInline(this);
6208 }
6209 else {
6210 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6211 _errHandler.reportMatch(this);
6212 consume();
6213 }
6214 }
6215 }
6216 catch (RecognitionException re) {
6217 _localctx.exception = re;
6218 _errHandler.reportError(this, re);
6219 _errHandler.recover(this, re);
6220 }
6221 finally {
6222 exitRule();
6223 }
6224 return _localctx;
6225 }
6226
6227 public static class PredicateContext extends ParserRuleContext {
6228 public List<BitExprContext> bitExpr() {
6229 return getRuleContexts(BitExprContext.class);
6230 }
6231 public BitExprContext bitExpr(int i) {
6232 return getRuleContext(BitExprContext.class,i);
6233 }
6234 public TerminalNode IN() { return getToken(SQLServerStatementParser.IN, 0); }
6235 public SubqueryContext subquery() {
6236 return getRuleContext(SubqueryContext.class,0);
6237 }
6238 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6239 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
6240 public List<ExprContext> expr() {
6241 return getRuleContexts(ExprContext.class);
6242 }
6243 public ExprContext expr(int i) {
6244 return getRuleContext(ExprContext.class,i);
6245 }
6246 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
6247 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
6248 public TerminalNode COMMA_(int i) {
6249 return getToken(SQLServerStatementParser.COMMA_, i);
6250 }
6251 public TerminalNode BETWEEN() { return getToken(SQLServerStatementParser.BETWEEN, 0); }
6252 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
6253 public PredicateContext predicate() {
6254 return getRuleContext(PredicateContext.class,0);
6255 }
6256 public TerminalNode LIKE() { return getToken(SQLServerStatementParser.LIKE, 0); }
6257 public List<SimpleExprContext> simpleExpr() {
6258 return getRuleContexts(SimpleExprContext.class);
6259 }
6260 public SimpleExprContext simpleExpr(int i) {
6261 return getRuleContext(SimpleExprContext.class,i);
6262 }
6263 public TerminalNode ESCAPE() { return getToken(SQLServerStatementParser.ESCAPE, 0); }
6264 public PredicateContext(ParserRuleContext parent, int invokingState) {
6265 super(parent, invokingState);
6266 }
6267 @Override public int getRuleIndex() { return RULE_predicate; }
6268 @Override
6269 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6270 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPredicate(this);
6271 else return visitor.visitChildren(this);
6272 }
6273 }
6274
6275 public final PredicateContext predicate() throws RecognitionException {
6276 PredicateContext _localctx = new PredicateContext(_ctx, getState());
6277 enterRule(_localctx, 110, RULE_predicate);
6278 int _la;
6279 try {
6280 setState(1413);
6281 _errHandler.sync(this);
6282 switch ( getInterpreter().adaptivePredict(_input,53,_ctx) ) {
6283 case 1:
6284 enterOuterAlt(_localctx, 1);
6285 {
6286 setState(1370);
6287 bitExpr(0);
6288 setState(1372);
6289 _errHandler.sync(this);
6290 _la = _input.LA(1);
6291 if (_la==NOT) {
6292 {
6293 setState(1371);
6294 match(NOT);
6295 }
6296 }
6297
6298 setState(1374);
6299 match(IN);
6300 setState(1375);
6301 subquery();
6302 }
6303 break;
6304 case 2:
6305 enterOuterAlt(_localctx, 2);
6306 {
6307 setState(1377);
6308 bitExpr(0);
6309 setState(1379);
6310 _errHandler.sync(this);
6311 _la = _input.LA(1);
6312 if (_la==NOT) {
6313 {
6314 setState(1378);
6315 match(NOT);
6316 }
6317 }
6318
6319 setState(1381);
6320 match(IN);
6321 setState(1382);
6322 match(LP_);
6323 setState(1383);
6324 expr(0);
6325 setState(1388);
6326 _errHandler.sync(this);
6327 _la = _input.LA(1);
6328 while (_la==COMMA_) {
6329 {
6330 {
6331 setState(1384);
6332 match(COMMA_);
6333 setState(1385);
6334 expr(0);
6335 }
6336 }
6337 setState(1390);
6338 _errHandler.sync(this);
6339 _la = _input.LA(1);
6340 }
6341 setState(1391);
6342 match(RP_);
6343 }
6344 break;
6345 case 3:
6346 enterOuterAlt(_localctx, 3);
6347 {
6348 setState(1393);
6349 bitExpr(0);
6350 setState(1395);
6351 _errHandler.sync(this);
6352 _la = _input.LA(1);
6353 if (_la==NOT) {
6354 {
6355 setState(1394);
6356 match(NOT);
6357 }
6358 }
6359
6360 setState(1397);
6361 match(BETWEEN);
6362 setState(1398);
6363 bitExpr(0);
6364 setState(1399);
6365 match(AND);
6366 setState(1400);
6367 predicate();
6368 }
6369 break;
6370 case 4:
6371 enterOuterAlt(_localctx, 4);
6372 {
6373 setState(1402);
6374 bitExpr(0);
6375 setState(1404);
6376 _errHandler.sync(this);
6377 _la = _input.LA(1);
6378 if (_la==NOT) {
6379 {
6380 setState(1403);
6381 match(NOT);
6382 }
6383 }
6384
6385 setState(1406);
6386 match(LIKE);
6387 setState(1407);
6388 simpleExpr(0);
6389 setState(1410);
6390 _errHandler.sync(this);
6391 switch ( getInterpreter().adaptivePredict(_input,52,_ctx) ) {
6392 case 1:
6393 {
6394 setState(1408);
6395 match(ESCAPE);
6396 setState(1409);
6397 simpleExpr(0);
6398 }
6399 break;
6400 }
6401 }
6402 break;
6403 case 5:
6404 enterOuterAlt(_localctx, 5);
6405 {
6406 setState(1412);
6407 bitExpr(0);
6408 }
6409 break;
6410 }
6411 }
6412 catch (RecognitionException re) {
6413 _localctx.exception = re;
6414 _errHandler.reportError(this, re);
6415 _errHandler.recover(this, re);
6416 }
6417 finally {
6418 exitRule();
6419 }
6420 return _localctx;
6421 }
6422
6423 public static class BitExprContext extends ParserRuleContext {
6424 public SimpleExprContext simpleExpr() {
6425 return getRuleContext(SimpleExprContext.class,0);
6426 }
6427 public List<BitExprContext> bitExpr() {
6428 return getRuleContexts(BitExprContext.class);
6429 }
6430 public BitExprContext bitExpr(int i) {
6431 return getRuleContext(BitExprContext.class,i);
6432 }
6433 public TerminalNode VERTICAL_BAR_() { return getToken(SQLServerStatementParser.VERTICAL_BAR_, 0); }
6434 public TerminalNode AMPERSAND_() { return getToken(SQLServerStatementParser.AMPERSAND_, 0); }
6435 public TerminalNode SIGNED_LEFT_SHIFT_() { return getToken(SQLServerStatementParser.SIGNED_LEFT_SHIFT_, 0); }
6436 public TerminalNode SIGNED_RIGHT_SHIFT_() { return getToken(SQLServerStatementParser.SIGNED_RIGHT_SHIFT_, 0); }
6437 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
6438 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
6439 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
6440 public TerminalNode SLASH_() { return getToken(SQLServerStatementParser.SLASH_, 0); }
6441 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
6442 public TerminalNode CARET_() { return getToken(SQLServerStatementParser.CARET_, 0); }
6443 public BitExprContext(ParserRuleContext parent, int invokingState) {
6444 super(parent, invokingState);
6445 }
6446 @Override public int getRuleIndex() { return RULE_bitExpr; }
6447 @Override
6448 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6449 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBitExpr(this);
6450 else return visitor.visitChildren(this);
6451 }
6452 }
6453
6454 public final BitExprContext bitExpr() throws RecognitionException {
6455 return bitExpr(0);
6456 }
6457
6458 private BitExprContext bitExpr(int _p) throws RecognitionException {
6459 ParserRuleContext _parentctx = _ctx;
6460 int _parentState = getState();
6461 BitExprContext _localctx = new BitExprContext(_ctx, _parentState);
6462 BitExprContext _prevctx = _localctx;
6463 int _startState = 112;
6464 enterRecursionRule(_localctx, 112, RULE_bitExpr, _p);
6465 try {
6466 int _alt;
6467 enterOuterAlt(_localctx, 1);
6468 {
6469 {
6470 setState(1416);
6471 simpleExpr(0);
6472 }
6473 _ctx.stop = _input.LT(-1);
6474 setState(1450);
6475 _errHandler.sync(this);
6476 _alt = getInterpreter().adaptivePredict(_input,55,_ctx);
6477 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6478 if ( _alt==1 ) {
6479 if ( _parseListeners!=null ) triggerExitRuleEvent();
6480 _prevctx = _localctx;
6481 {
6482 setState(1448);
6483 _errHandler.sync(this);
6484 switch ( getInterpreter().adaptivePredict(_input,54,_ctx) ) {
6485 case 1:
6486 {
6487 _localctx = new BitExprContext(_parentctx, _parentState);
6488 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6489 setState(1418);
6490 if (!(precpred(_ctx, 11))) throw new FailedPredicateException(this, "precpred(_ctx, 11)");
6491 setState(1419);
6492 match(VERTICAL_BAR_);
6493 setState(1420);
6494 bitExpr(12);
6495 }
6496 break;
6497 case 2:
6498 {
6499 _localctx = new BitExprContext(_parentctx, _parentState);
6500 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6501 setState(1421);
6502 if (!(precpred(_ctx, 10))) throw new FailedPredicateException(this, "precpred(_ctx, 10)");
6503 setState(1422);
6504 match(AMPERSAND_);
6505 setState(1423);
6506 bitExpr(11);
6507 }
6508 break;
6509 case 3:
6510 {
6511 _localctx = new BitExprContext(_parentctx, _parentState);
6512 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6513 setState(1424);
6514 if (!(precpred(_ctx, 9))) throw new FailedPredicateException(this, "precpred(_ctx, 9)");
6515 setState(1425);
6516 match(SIGNED_LEFT_SHIFT_);
6517 setState(1426);
6518 bitExpr(10);
6519 }
6520 break;
6521 case 4:
6522 {
6523 _localctx = new BitExprContext(_parentctx, _parentState);
6524 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6525 setState(1427);
6526 if (!(precpred(_ctx, 8))) throw new FailedPredicateException(this, "precpred(_ctx, 8)");
6527 setState(1428);
6528 match(SIGNED_RIGHT_SHIFT_);
6529 setState(1429);
6530 bitExpr(9);
6531 }
6532 break;
6533 case 5:
6534 {
6535 _localctx = new BitExprContext(_parentctx, _parentState);
6536 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6537 setState(1430);
6538 if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
6539 setState(1431);
6540 match(PLUS_);
6541 setState(1432);
6542 bitExpr(8);
6543 }
6544 break;
6545 case 6:
6546 {
6547 _localctx = new BitExprContext(_parentctx, _parentState);
6548 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6549 setState(1433);
6550 if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)");
6551 setState(1434);
6552 match(MINUS_);
6553 setState(1435);
6554 bitExpr(7);
6555 }
6556 break;
6557 case 7:
6558 {
6559 _localctx = new BitExprContext(_parentctx, _parentState);
6560 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6561 setState(1436);
6562 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
6563 setState(1437);
6564 match(ASTERISK_);
6565 setState(1438);
6566 bitExpr(6);
6567 }
6568 break;
6569 case 8:
6570 {
6571 _localctx = new BitExprContext(_parentctx, _parentState);
6572 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6573 setState(1439);
6574 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
6575 setState(1440);
6576 match(SLASH_);
6577 setState(1441);
6578 bitExpr(5);
6579 }
6580 break;
6581 case 9:
6582 {
6583 _localctx = new BitExprContext(_parentctx, _parentState);
6584 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6585 setState(1442);
6586 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
6587 setState(1443);
6588 match(MOD_);
6589 setState(1444);
6590 bitExpr(4);
6591 }
6592 break;
6593 case 10:
6594 {
6595 _localctx = new BitExprContext(_parentctx, _parentState);
6596 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6597 setState(1445);
6598 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
6599 setState(1446);
6600 match(CARET_);
6601 setState(1447);
6602 bitExpr(3);
6603 }
6604 break;
6605 }
6606 }
6607 }
6608 setState(1452);
6609 _errHandler.sync(this);
6610 _alt = getInterpreter().adaptivePredict(_input,55,_ctx);
6611 }
6612 }
6613 }
6614 catch (RecognitionException re) {
6615 _localctx.exception = re;
6616 _errHandler.reportError(this, re);
6617 _errHandler.recover(this, re);
6618 }
6619 finally {
6620 unrollRecursionContexts(_parentctx);
6621 }
6622 return _localctx;
6623 }
6624
6625 public static class SimpleExprContext extends ParserRuleContext {
6626 public FunctionCallContext functionCall() {
6627 return getRuleContext(FunctionCallContext.class,0);
6628 }
6629 public ParameterMarkerContext parameterMarker() {
6630 return getRuleContext(ParameterMarkerContext.class,0);
6631 }
6632 public LiteralsContext literals() {
6633 return getRuleContext(LiteralsContext.class,0);
6634 }
6635 public ColumnNameContext columnName() {
6636 return getRuleContext(ColumnNameContext.class,0);
6637 }
6638 public VariableNameContext variableName() {
6639 return getRuleContext(VariableNameContext.class,0);
6640 }
6641 public List<SimpleExprContext> simpleExpr() {
6642 return getRuleContexts(SimpleExprContext.class);
6643 }
6644 public SimpleExprContext simpleExpr(int i) {
6645 return getRuleContext(SimpleExprContext.class,i);
6646 }
6647 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
6648 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
6649 public TerminalNode TILDE_() { return getToken(SQLServerStatementParser.TILDE_, 0); }
6650 public TerminalNode NOT_() { return getToken(SQLServerStatementParser.NOT_, 0); }
6651 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
6652 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
6653 public List<ExprContext> expr() {
6654 return getRuleContexts(ExprContext.class);
6655 }
6656 public ExprContext expr(int i) {
6657 return getRuleContext(ExprContext.class,i);
6658 }
6659 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
6660 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
6661 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
6662 public TerminalNode COMMA_(int i) {
6663 return getToken(SQLServerStatementParser.COMMA_, i);
6664 }
6665 public SubqueryContext subquery() {
6666 return getRuleContext(SubqueryContext.class,0);
6667 }
6668 public TerminalNode EXISTS() { return getToken(SQLServerStatementParser.EXISTS, 0); }
6669 public TerminalNode LBE_() { return getToken(SQLServerStatementParser.LBE_, 0); }
6670 public IdentifierContext identifier() {
6671 return getRuleContext(IdentifierContext.class,0);
6672 }
6673 public TerminalNode RBE_() { return getToken(SQLServerStatementParser.RBE_, 0); }
6674 public CaseExpressionContext caseExpression() {
6675 return getRuleContext(CaseExpressionContext.class,0);
6676 }
6677 public PrivateExprOfDbContext privateExprOfDb() {
6678 return getRuleContext(PrivateExprOfDbContext.class,0);
6679 }
6680 public TerminalNode OR_() { return getToken(SQLServerStatementParser.OR_, 0); }
6681 public SimpleExprContext(ParserRuleContext parent, int invokingState) {
6682 super(parent, invokingState);
6683 }
6684 @Override public int getRuleIndex() { return RULE_simpleExpr; }
6685 @Override
6686 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6687 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSimpleExpr(this);
6688 else return visitor.visitChildren(this);
6689 }
6690 }
6691
6692 public final SimpleExprContext simpleExpr() throws RecognitionException {
6693 return simpleExpr(0);
6694 }
6695
6696 private SimpleExprContext simpleExpr(int _p) throws RecognitionException {
6697 ParserRuleContext _parentctx = _ctx;
6698 int _parentState = getState();
6699 SimpleExprContext _localctx = new SimpleExprContext(_ctx, _parentState);
6700 SimpleExprContext _prevctx = _localctx;
6701 int _startState = 114;
6702 enterRecursionRule(_localctx, 114, RULE_simpleExpr, _p);
6703 int _la;
6704 try {
6705 int _alt;
6706 enterOuterAlt(_localctx, 1);
6707 {
6708 setState(1486);
6709 _errHandler.sync(this);
6710 switch ( getInterpreter().adaptivePredict(_input,59,_ctx) ) {
6711 case 1:
6712 {
6713 setState(1454);
6714 functionCall();
6715 }
6716 break;
6717 case 2:
6718 {
6719 setState(1455);
6720 parameterMarker();
6721 }
6722 break;
6723 case 3:
6724 {
6725 setState(1456);
6726 literals();
6727 }
6728 break;
6729 case 4:
6730 {
6731 setState(1457);
6732 columnName();
6733 }
6734 break;
6735 case 5:
6736 {
6737 setState(1458);
6738 variableName();
6739 }
6740 break;
6741 case 6:
6742 {
6743 setState(1459);
6744 _la = _input.LA(1);
6745 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_))) != 0) || _la==BINARY) ) {
6746 _errHandler.recoverInline(this);
6747 }
6748 else {
6749 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6750 _errHandler.reportMatch(this);
6751 consume();
6752 }
6753 setState(1460);
6754 simpleExpr(6);
6755 }
6756 break;
6757 case 7:
6758 {
6759 setState(1462);
6760 _errHandler.sync(this);
6761 _la = _input.LA(1);
6762 if (_la==ROW) {
6763 {
6764 setState(1461);
6765 match(ROW);
6766 }
6767 }
6768
6769 setState(1464);
6770 match(LP_);
6771 setState(1465);
6772 expr(0);
6773 setState(1470);
6774 _errHandler.sync(this);
6775 _la = _input.LA(1);
6776 while (_la==COMMA_) {
6777 {
6778 {
6779 setState(1466);
6780 match(COMMA_);
6781 setState(1467);
6782 expr(0);
6783 }
6784 }
6785 setState(1472);
6786 _errHandler.sync(this);
6787 _la = _input.LA(1);
6788 }
6789 setState(1473);
6790 match(RP_);
6791 }
6792 break;
6793 case 8:
6794 {
6795 setState(1476);
6796 _errHandler.sync(this);
6797 _la = _input.LA(1);
6798 if (_la==EXISTS) {
6799 {
6800 setState(1475);
6801 match(EXISTS);
6802 }
6803 }
6804
6805 setState(1478);
6806 subquery();
6807 }
6808 break;
6809 case 9:
6810 {
6811 setState(1479);
6812 match(LBE_);
6813 setState(1480);
6814 identifier();
6815 setState(1481);
6816 expr(0);
6817 setState(1482);
6818 match(RBE_);
6819 }
6820 break;
6821 case 10:
6822 {
6823 setState(1484);
6824 caseExpression();
6825 }
6826 break;
6827 case 11:
6828 {
6829 setState(1485);
6830 privateExprOfDb();
6831 }
6832 break;
6833 }
6834 _ctx.stop = _input.LT(-1);
6835 setState(1493);
6836 _errHandler.sync(this);
6837 _alt = getInterpreter().adaptivePredict(_input,60,_ctx);
6838 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6839 if ( _alt==1 ) {
6840 if ( _parseListeners!=null ) triggerExitRuleEvent();
6841 _prevctx = _localctx;
6842 {
6843 {
6844 _localctx = new SimpleExprContext(_parentctx, _parentState);
6845 pushNewRecursionContext(_localctx, _startState, RULE_simpleExpr);
6846 setState(1488);
6847 if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
6848 setState(1489);
6849 match(OR_);
6850 setState(1490);
6851 simpleExpr(8);
6852 }
6853 }
6854 }
6855 setState(1495);
6856 _errHandler.sync(this);
6857 _alt = getInterpreter().adaptivePredict(_input,60,_ctx);
6858 }
6859 }
6860 }
6861 catch (RecognitionException re) {
6862 _localctx.exception = re;
6863 _errHandler.reportError(this, re);
6864 _errHandler.recover(this, re);
6865 }
6866 finally {
6867 unrollRecursionContexts(_parentctx);
6868 }
6869 return _localctx;
6870 }
6871
6872 public static class FunctionCallContext extends ParserRuleContext {
6873 public AggregationFunctionContext aggregationFunction() {
6874 return getRuleContext(AggregationFunctionContext.class,0);
6875 }
6876 public SpecialFunctionContext specialFunction() {
6877 return getRuleContext(SpecialFunctionContext.class,0);
6878 }
6879 public RegularFunctionContext regularFunction() {
6880 return getRuleContext(RegularFunctionContext.class,0);
6881 }
6882 public FunctionCallContext(ParserRuleContext parent, int invokingState) {
6883 super(parent, invokingState);
6884 }
6885 @Override public int getRuleIndex() { return RULE_functionCall; }
6886 @Override
6887 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6888 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionCall(this);
6889 else return visitor.visitChildren(this);
6890 }
6891 }
6892
6893 public final FunctionCallContext functionCall() throws RecognitionException {
6894 FunctionCallContext _localctx = new FunctionCallContext(_ctx, getState());
6895 enterRule(_localctx, 116, RULE_functionCall);
6896 try {
6897 setState(1499);
6898 _errHandler.sync(this);
6899 switch ( getInterpreter().adaptivePredict(_input,61,_ctx) ) {
6900 case 1:
6901 enterOuterAlt(_localctx, 1);
6902 {
6903 setState(1496);
6904 aggregationFunction();
6905 }
6906 break;
6907 case 2:
6908 enterOuterAlt(_localctx, 2);
6909 {
6910 setState(1497);
6911 specialFunction();
6912 }
6913 break;
6914 case 3:
6915 enterOuterAlt(_localctx, 3);
6916 {
6917 setState(1498);
6918 regularFunction();
6919 }
6920 break;
6921 }
6922 }
6923 catch (RecognitionException re) {
6924 _localctx.exception = re;
6925 _errHandler.reportError(this, re);
6926 _errHandler.recover(this, re);
6927 }
6928 finally {
6929 exitRule();
6930 }
6931 return _localctx;
6932 }
6933
6934 public static class AggregationFunctionContext extends ParserRuleContext {
6935 public AggregationFunctionNameContext aggregationFunctionName() {
6936 return getRuleContext(AggregationFunctionNameContext.class,0);
6937 }
6938 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
6939 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
6940 public DistinctContext distinct() {
6941 return getRuleContext(DistinctContext.class,0);
6942 }
6943 public List<ExprContext> expr() {
6944 return getRuleContexts(ExprContext.class);
6945 }
6946 public ExprContext expr(int i) {
6947 return getRuleContext(ExprContext.class,i);
6948 }
6949 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
6950 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
6951 public TerminalNode COMMA_(int i) {
6952 return getToken(SQLServerStatementParser.COMMA_, i);
6953 }
6954 public AggregationFunctionContext(ParserRuleContext parent, int invokingState) {
6955 super(parent, invokingState);
6956 }
6957 @Override public int getRuleIndex() { return RULE_aggregationFunction; }
6958 @Override
6959 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6960 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationFunction(this);
6961 else return visitor.visitChildren(this);
6962 }
6963 }
6964
6965 public final AggregationFunctionContext aggregationFunction() throws RecognitionException {
6966 AggregationFunctionContext _localctx = new AggregationFunctionContext(_ctx, getState());
6967 enterRule(_localctx, 118, RULE_aggregationFunction);
6968 int _la;
6969 try {
6970 enterOuterAlt(_localctx, 1);
6971 {
6972 setState(1501);
6973 aggregationFunctionName();
6974 setState(1502);
6975 match(LP_);
6976 setState(1504);
6977 _errHandler.sync(this);
6978 _la = _input.LA(1);
6979 if (_la==DISTINCT) {
6980 {
6981 setState(1503);
6982 distinct();
6983 }
6984 }
6985
6986 setState(1515);
6987 _errHandler.sync(this);
6988 switch (_input.LA(1)) {
6989 case NOT_:
6990 case TILDE_:
6991 case PLUS_:
6992 case MINUS_:
6993 case LP_:
6994 case LBE_:
6995 case QUESTION_:
6996 case DOLLAR_:
6997 case TRUNCATE:
6998 case SCHEMA:
6999 case COLUMNS:
7000 case PRECISION:
7001 case FUNCTION:
7002 case TRIGGER:
7003 case CASE:
7004 case CAST:
7005 case SUBSTRING:
7006 case OFF:
7007 case IF:
7008 case NOT:
7009 case NULL:
7010 case TRUE:
7011 case FALSE:
7012 case EXISTS:
7013 case GROUP:
7014 case LIMIT:
7015 case OFFSET:
7016 case SAVEPOINT:
7017 case BOOLEAN:
7018 case CHAR:
7019 case ARRAY:
7020 case INTERVAL:
7021 case DATE:
7022 case TIME:
7023 case TIMESTAMP:
7024 case LOCALTIME:
7025 case LOCALTIMESTAMP:
7026 case QUARTER:
7027 case WEEK:
7028 case DAY:
7029 case SECOND:
7030 case MICROSECOND:
7031 case MAX:
7032 case MIN:
7033 case SUM:
7034 case COUNT:
7035 case AVG:
7036 case ENABLE:
7037 case DISABLE:
7038 case INSTANCE:
7039 case DO:
7040 case DEFINER:
7041 case SQL:
7042 case CASCADED:
7043 case LOCAL:
7044 case NEXT:
7045 case NAME:
7046 case INTEGER:
7047 case TYPE:
7048 case TEXT:
7049 case VIEWS:
7050 case READ_ONLY:
7051 case DATABASE:
7052 case RETURNS:
7053 case DATEPART:
7054 case PASSWORD:
7055 case BINARY:
7056 case HIDDEN_:
7057 case MOD:
7058 case PARTITION:
7059 case PARTITIONS:
7060 case TOP:
7061 case ROW:
7062 case ROWS:
7063 case XOR:
7064 case ALWAYS:
7065 case ROLE:
7066 case START:
7067 case ALGORITHM:
7068 case AUTO:
7069 case BLOCKERS:
7070 case CLUSTERED:
7071 case NONCLUSTERED:
7072 case COLUMNSTORE:
7073 case CONTENT:
7074 case CONVERT:
7075 case YEARS:
7076 case MONTHS:
7077 case WEEKS:
7078 case DAYS:
7079 case MINUTES:
7080 case DENY:
7081 case DETERMINISTIC:
7082 case DISTRIBUTION:
7083 case DOCUMENT:
7084 case DURABILITY:
7085 case ENCRYPTED:
7086 case FILESTREAM:
7087 case FILETABLE:
7088 case FILLFACTOR:
7089 case FOLLOWING:
7090 case HASH:
7091 case HEAP:
7092 case INBOUND:
7093 case OUTBOUND:
7094 case UNBOUNDED:
7095 case INFINITE:
7096 case LOGIN:
7097 case MASKED:
7098 case MAXDOP:
7099 case MOVE:
7100 case NOCHECK:
7101 case OBJECT:
7102 case ONLINE:
7103 case OVER:
7104 case PAGE:
7105 case PAUSED:
7106 case PERIOD:
7107 case PERSISTED:
7108 case PRECEDING:
7109 case RANDOMIZED:
7110 case RANGE:
7111 case REBUILD:
7112 case REPLICATE:
7113 case REPLICATION:
7114 case RESUMABLE:
7115 case ROWGUIDCOL:
7116 case SAVE:
7117 case SELF:
7118 case SPARSE:
7119 case SWITCH:
7120 case TRAN:
7121 case TRANCOUNT:
7122 case CONTROL:
7123 case CONCAT:
7124 case TAKE:
7125 case OWNERSHIP:
7126 case DEFINITION:
7127 case APPLICATION:
7128 case ASSEMBLY:
7129 case SYMMETRIC:
7130 case ASYMMETRIC:
7131 case SERVER:
7132 case RECEIVE:
7133 case CHANGE:
7134 case TRACE:
7135 case TRACKING:
7136 case RESOURCES:
7137 case SETTINGS:
7138 case STATE:
7139 case AVAILABILITY:
7140 case CREDENTIAL:
7141 case ENDPOINT:
7142 case EVENT:
7143 case NOTIFICATION:
7144 case LINKED:
7145 case AUDIT:
7146 case DDL:
7147 case XML:
7148 case IMPERSONATE:
7149 case SECURABLES:
7150 case AUTHENTICATE:
7151 case EXTERNAL:
7152 case ACCESS:
7153 case ADMINISTER:
7154 case BULK:
7155 case OPERATIONS:
7156 case UNSAFE:
7157 case SHUTDOWN:
7158 case SCOPED:
7159 case CONFIGURATION:
7160 case DATASPACE:
7161 case SERVICE:
7162 case CERTIFICATE:
7163 case CONTRACT:
7164 case ENCRYPTION:
7165 case MASTER:
7166 case DATA:
7167 case SOURCE:
7168 case FILE:
7169 case FORMAT:
7170 case LIBRARY:
7171 case FULLTEXT:
7172 case MASK:
7173 case UNMASK:
7174 case MESSAGE:
7175 case REMOTE:
7176 case BINDING:
7177 case ROUTE:
7178 case SECURITY:
7179 case POLICY:
7180 case AGGREGATE:
7181 case QUEUE:
7182 case RULE:
7183 case SYNONYM:
7184 case COLLECTION:
7185 case SCRIPT:
7186 case KILL:
7187 case BACKUP:
7188 case LOG:
7189 case SHOWPLAN:
7190 case SUBSCRIBE:
7191 case QUERY:
7192 case NOTIFICATIONS:
7193 case CHECKPOINT:
7194 case SEQUENCE:
7195 case ABORT_AFTER_WAIT:
7196 case ALLOW_PAGE_LOCKS:
7197 case ALLOW_ROW_LOCKS:
7198 case ALL_SPARSE_COLUMNS:
7199 case BUCKET_COUNT:
7200 case COLUMNSTORE_ARCHIVE:
7201 case COLUMN_ENCRYPTION_KEY:
7202 case COLUMN_SET:
7203 case COMPRESSION_DELAY:
7204 case DATABASE_DEAULT:
7205 case DATA_COMPRESSION:
7206 case DATA_CONSISTENCY_CHECK:
7207 case ENCRYPTION_TYPE:
7208 case SYSTEM_TIME:
7209 case SYSTEM_VERSIONING:
7210 case TEXTIMAGE_ON:
7211 case WAIT_AT_LOW_PRIORITY:
7212 case STATISTICS_INCREMENTAL:
7213 case STATISTICS_NORECOMPUTE:
7214 case ROUND_ROBIN:
7215 case SCHEMA_AND_DATA:
7216 case SCHEMA_ONLY:
7217 case SORT_IN_TEMPDB:
7218 case IGNORE_DUP_KEY:
7219 case IMPLICIT_TRANSACTIONS:
7220 case MAX_DURATION:
7221 case MEMORY_OPTIMIZED:
7222 case MIGRATION_STATE:
7223 case PAD_INDEX:
7224 case REMOTE_DATA_ARCHIVE:
7225 case FILESTREAM_ON:
7226 case FILETABLE_COLLATE_FILENAME:
7227 case FILETABLE_DIRECTORY:
7228 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
7229 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
7230 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
7231 case FILTER_PREDICATE:
7232 case HISTORY_RETENTION_PERIOD:
7233 case HISTORY_TABLE:
7234 case LOCK_ESCALATION:
7235 case DROP_EXISTING:
7236 case ROW_NUMBER:
7237 case FIRST:
7238 case DATETIME2:
7239 case OUTPUT:
7240 case INSERTED:
7241 case DELETED:
7242 case FILENAME:
7243 case MAXSIZE:
7244 case FILEGROWTH:
7245 case UNLIMITED:
7246 case KB:
7247 case MB:
7248 case GB:
7249 case TB:
7250 case MEMORY_OPTIMIZED_DATA:
7251 case FILEGROUP:
7252 case NON_TRANSACTED_ACCESS:
7253 case DB_CHAINING:
7254 case TRUSTWORTHY:
7255 case FORWARD_ONLY:
7256 case KEYSET:
7257 case FAST_FORWARD:
7258 case SCROLL_LOCKS:
7259 case OPTIMISTIC:
7260 case TYPE_WARNING:
7261 case SCHEMABINDING:
7262 case CALLER:
7263 case OWNER:
7264 case SNAPSHOT:
7265 case REPEATABLE:
7266 case SERIALIZABLE:
7267 case NATIVE_COMPILATION:
7268 case VIEW_METADATA:
7269 case INSTEAD:
7270 case APPEND:
7271 case INCREMENT:
7272 case CACHE:
7273 case MINVALUE:
7274 case MAXVALUE:
7275 case RESTART:
7276 case LOB_COMPACTION:
7277 case COMPRESS_ALL_ROW_GROUPS:
7278 case REORGANIZE:
7279 case RESUME:
7280 case PAUSE:
7281 case ABORT:
7282 case ACCELERATED_DATABASE_RECOVERY:
7283 case PERSISTENT_VERSION_STORE_FILEGROUP:
7284 case IMMEDIATE:
7285 case NO_WAIT:
7286 case TARGET_RECOVERY_TIME:
7287 case SECONDS:
7288 case HONOR_BROKER_PRIORITY:
7289 case ERROR_BROKER_CONVERSATIONS:
7290 case NEW_BROKER:
7291 case DISABLE_BROKER:
7292 case ENABLE_BROKER:
7293 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
7294 case READ_COMMITTED_SNAPSHOT:
7295 case ALLOW_SNAPSHOT_ISOLATION:
7296 case RECURSIVE_TRIGGERS:
7297 case QUOTED_IDENTIFIER:
7298 case NUMERIC_ROUNDABORT:
7299 case CONCAT_NULL_YIELDS_NULL:
7300 case COMPATIBILITY_LEVEL:
7301 case ARITHABORT:
7302 case ANSI_WARNINGS:
7303 case ANSI_PADDING:
7304 case ANSI_NULLS:
7305 case ANSI_NULL_DEFAULT:
7306 case PAGE_VERIFY:
7307 case CHECKSUM:
7308 case TORN_PAGE_DETECTION:
7309 case BULK_LOGGED:
7310 case RECOVERY:
7311 case TOTAL_EXECUTION_CPU_TIME_MS:
7312 case TOTAL_COMPILE_CPU_TIME_MS:
7313 case STALE_CAPTURE_POLICY_THRESHOLD:
7314 case EXECUTION_COUNT:
7315 case QUERY_CAPTURE_POLICY:
7316 case WAIT_STATS_CAPTURE_MODE:
7317 case MAX_PLANS_PER_QUERY:
7318 case QUERY_CAPTURE_MODE:
7319 case SIZE_BASED_CLEANUP_MODE:
7320 case INTERVAL_LENGTH_MINUTES:
7321 case MAX_STORAGE_SIZE_MB:
7322 case DATA_FLUSH_INTERVAL_SECONDS:
7323 case CLEANUP_POLICY:
7324 case CUSTOM:
7325 case STALE_QUERY_THRESHOLD_DAYS:
7326 case OPERATION_MODE:
7327 case QUERY_STORE:
7328 case CURSOR_DEFAULT:
7329 case GLOBAL:
7330 case CURSOR_CLOSE_ON_COMMIT:
7331 case HOURS:
7332 case CHANGE_RETENTION:
7333 case AUTO_CLEANUP:
7334 case CHANGE_TRACKING:
7335 case AUTOMATIC_TUNING:
7336 case FORCE_LAST_GOOD_PLAN:
7337 case AUTO_UPDATE_STATISTICS_ASYNC:
7338 case AUTO_UPDATE_STATISTICS:
7339 case AUTO_SHRINK:
7340 case AUTO_CREATE_STATISTICS:
7341 case INCREMENTAL:
7342 case AUTO_CLOSE:
7343 case DATA_RETENTION:
7344 case TEMPORAL_HISTORY_RETENTION:
7345 case EDITION:
7346 case MIXED_PAGE_ALLOCATION:
7347 case DISABLED:
7348 case ALLOWED:
7349 case HADR:
7350 case MULTI_USER:
7351 case RESTRICTED_USER:
7352 case SINGLE_USER:
7353 case OFFLINE:
7354 case EMERGENCY:
7355 case SUSPEND:
7356 case DATE_CORRELATION_OPTIMIZATION:
7357 case ELASTIC_POOL:
7358 case SERVICE_OBJECTIVE:
7359 case DATABASE_NAME:
7360 case ALLOW_CONNECTIONS:
7361 case GEO:
7362 case NAMED:
7363 case DATEFIRST:
7364 case BACKUP_STORAGE_REDUNDANCY:
7365 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
7366 case SECONDARY:
7367 case FAILOVER:
7368 case DEFAULT_FULLTEXT_LANGUAGE:
7369 case DEFAULT_LANGUAGE:
7370 case INLINE:
7371 case NESTED_TRIGGERS:
7372 case TRANSFORM_NOISE_WORDS:
7373 case TWO_DIGIT_YEAR_CUTOFF:
7374 case PERSISTENT_LOG_BUFFER:
7375 case DIRECTORY_NAME:
7376 case DATEFORMAT:
7377 case DELAYED_DURABILITY:
7378 case AUTHORIZATION:
7379 case TRANSFER:
7380 case PROVIDER:
7381 case SEARCH:
7382 case MEMBER:
7383 case IDENTIFIER_:
7384 case DELIMITED_IDENTIFIER_:
7385 case STRING_:
7386 case NUMBER_:
7387 case HEX_DIGIT_:
7388 case BIT_NUM_:
7389 case NCHAR_TEXT:
7390 {
7391 setState(1506);
7392 expr(0);
7393 setState(1511);
7394 _errHandler.sync(this);
7395 _la = _input.LA(1);
7396 while (_la==COMMA_) {
7397 {
7398 {
7399 setState(1507);
7400 match(COMMA_);
7401 setState(1508);
7402 expr(0);
7403 }
7404 }
7405 setState(1513);
7406 _errHandler.sync(this);
7407 _la = _input.LA(1);
7408 }
7409 }
7410 break;
7411 case ASTERISK_:
7412 {
7413 setState(1514);
7414 match(ASTERISK_);
7415 }
7416 break;
7417 case RP_:
7418 break;
7419 default:
7420 break;
7421 }
7422 setState(1517);
7423 match(RP_);
7424 }
7425 }
7426 catch (RecognitionException re) {
7427 _localctx.exception = re;
7428 _errHandler.reportError(this, re);
7429 _errHandler.recover(this, re);
7430 }
7431 finally {
7432 exitRule();
7433 }
7434 return _localctx;
7435 }
7436
7437 public static class AggregationFunctionNameContext extends ParserRuleContext {
7438 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
7439 public TerminalNode MIN() { return getToken(SQLServerStatementParser.MIN, 0); }
7440 public TerminalNode SUM() { return getToken(SQLServerStatementParser.SUM, 0); }
7441 public TerminalNode COUNT() { return getToken(SQLServerStatementParser.COUNT, 0); }
7442 public TerminalNode AVG() { return getToken(SQLServerStatementParser.AVG, 0); }
7443 public AggregationFunctionNameContext(ParserRuleContext parent, int invokingState) {
7444 super(parent, invokingState);
7445 }
7446 @Override public int getRuleIndex() { return RULE_aggregationFunctionName; }
7447 @Override
7448 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7449 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationFunctionName(this);
7450 else return visitor.visitChildren(this);
7451 }
7452 }
7453
7454 public final AggregationFunctionNameContext aggregationFunctionName() throws RecognitionException {
7455 AggregationFunctionNameContext _localctx = new AggregationFunctionNameContext(_ctx, getState());
7456 enterRule(_localctx, 120, RULE_aggregationFunctionName);
7457 int _la;
7458 try {
7459 enterOuterAlt(_localctx, 1);
7460 {
7461 setState(1519);
7462 _la = _input.LA(1);
7463 if ( !(((((_la - 149)) & ~0x3f) == 0 && ((1L << (_la - 149)) & ((1L << (MAX - 149)) | (1L << (MIN - 149)) | (1L << (SUM - 149)) | (1L << (COUNT - 149)) | (1L << (AVG - 149)))) != 0)) ) {
7464 _errHandler.recoverInline(this);
7465 }
7466 else {
7467 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
7468 _errHandler.reportMatch(this);
7469 consume();
7470 }
7471 }
7472 }
7473 catch (RecognitionException re) {
7474 _localctx.exception = re;
7475 _errHandler.reportError(this, re);
7476 _errHandler.recover(this, re);
7477 }
7478 finally {
7479 exitRule();
7480 }
7481 return _localctx;
7482 }
7483
7484 public static class DistinctContext extends ParserRuleContext {
7485 public TerminalNode DISTINCT() { return getToken(SQLServerStatementParser.DISTINCT, 0); }
7486 public DistinctContext(ParserRuleContext parent, int invokingState) {
7487 super(parent, invokingState);
7488 }
7489 @Override public int getRuleIndex() { return RULE_distinct; }
7490 @Override
7491 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7492 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDistinct(this);
7493 else return visitor.visitChildren(this);
7494 }
7495 }
7496
7497 public final DistinctContext distinct() throws RecognitionException {
7498 DistinctContext _localctx = new DistinctContext(_ctx, getState());
7499 enterRule(_localctx, 122, RULE_distinct);
7500 try {
7501 enterOuterAlt(_localctx, 1);
7502 {
7503 setState(1521);
7504 match(DISTINCT);
7505 }
7506 }
7507 catch (RecognitionException re) {
7508 _localctx.exception = re;
7509 _errHandler.reportError(this, re);
7510 _errHandler.recover(this, re);
7511 }
7512 finally {
7513 exitRule();
7514 }
7515 return _localctx;
7516 }
7517
7518 public static class SpecialFunctionContext extends ParserRuleContext {
7519 public CastFunctionContext castFunction() {
7520 return getRuleContext(CastFunctionContext.class,0);
7521 }
7522 public CharFunctionContext charFunction() {
7523 return getRuleContext(CharFunctionContext.class,0);
7524 }
7525 public ConvertFunctionContext convertFunction() {
7526 return getRuleContext(ConvertFunctionContext.class,0);
7527 }
7528 public SpecialFunctionContext(ParserRuleContext parent, int invokingState) {
7529 super(parent, invokingState);
7530 }
7531 @Override public int getRuleIndex() { return RULE_specialFunction; }
7532 @Override
7533 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7534 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSpecialFunction(this);
7535 else return visitor.visitChildren(this);
7536 }
7537 }
7538
7539 public final SpecialFunctionContext specialFunction() throws RecognitionException {
7540 SpecialFunctionContext _localctx = new SpecialFunctionContext(_ctx, getState());
7541 enterRule(_localctx, 124, RULE_specialFunction);
7542 try {
7543 setState(1526);
7544 _errHandler.sync(this);
7545 switch (_input.LA(1)) {
7546 case CAST:
7547 enterOuterAlt(_localctx, 1);
7548 {
7549 setState(1523);
7550 castFunction();
7551 }
7552 break;
7553 case CHAR:
7554 enterOuterAlt(_localctx, 2);
7555 {
7556 setState(1524);
7557 charFunction();
7558 }
7559 break;
7560 case CONVERT:
7561 enterOuterAlt(_localctx, 3);
7562 {
7563 setState(1525);
7564 convertFunction();
7565 }
7566 break;
7567 default:
7568 throw new NoViableAltException(this);
7569 }
7570 }
7571 catch (RecognitionException re) {
7572 _localctx.exception = re;
7573 _errHandler.reportError(this, re);
7574 _errHandler.recover(this, re);
7575 }
7576 finally {
7577 exitRule();
7578 }
7579 return _localctx;
7580 }
7581
7582 public static class CastFunctionContext extends ParserRuleContext {
7583 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
7584 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7585 public ExprContext expr() {
7586 return getRuleContext(ExprContext.class,0);
7587 }
7588 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
7589 public DataTypeContext dataType() {
7590 return getRuleContext(DataTypeContext.class,0);
7591 }
7592 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7593 public CastFunctionContext(ParserRuleContext parent, int invokingState) {
7594 super(parent, invokingState);
7595 }
7596 @Override public int getRuleIndex() { return RULE_castFunction; }
7597 @Override
7598 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7599 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCastFunction(this);
7600 else return visitor.visitChildren(this);
7601 }
7602 }
7603
7604 public final CastFunctionContext castFunction() throws RecognitionException {
7605 CastFunctionContext _localctx = new CastFunctionContext(_ctx, getState());
7606 enterRule(_localctx, 126, RULE_castFunction);
7607 try {
7608 enterOuterAlt(_localctx, 1);
7609 {
7610 setState(1528);
7611 match(CAST);
7612 setState(1529);
7613 match(LP_);
7614 setState(1530);
7615 expr(0);
7616 setState(1531);
7617 match(AS);
7618 setState(1532);
7619 dataType();
7620 setState(1533);
7621 match(RP_);
7622 }
7623 }
7624 catch (RecognitionException re) {
7625 _localctx.exception = re;
7626 _errHandler.reportError(this, re);
7627 _errHandler.recover(this, re);
7628 }
7629 finally {
7630 exitRule();
7631 }
7632 return _localctx;
7633 }
7634
7635 public static class ConvertFunctionContext extends ParserRuleContext {
7636 public TerminalNode CONVERT() { return getToken(SQLServerStatementParser.CONVERT, 0); }
7637 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7638 public DataTypeContext dataType() {
7639 return getRuleContext(DataTypeContext.class,0);
7640 }
7641 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
7642 public TerminalNode COMMA_(int i) {
7643 return getToken(SQLServerStatementParser.COMMA_, i);
7644 }
7645 public ExprContext expr() {
7646 return getRuleContext(ExprContext.class,0);
7647 }
7648 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7649 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
7650 public ConvertFunctionContext(ParserRuleContext parent, int invokingState) {
7651 super(parent, invokingState);
7652 }
7653 @Override public int getRuleIndex() { return RULE_convertFunction; }
7654 @Override
7655 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7656 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConvertFunction(this);
7657 else return visitor.visitChildren(this);
7658 }
7659 }
7660
7661 public final ConvertFunctionContext convertFunction() throws RecognitionException {
7662 ConvertFunctionContext _localctx = new ConvertFunctionContext(_ctx, getState());
7663 enterRule(_localctx, 128, RULE_convertFunction);
7664 int _la;
7665 try {
7666 enterOuterAlt(_localctx, 1);
7667 {
7668 setState(1535);
7669 match(CONVERT);
7670 setState(1536);
7671 match(LP_);
7672 setState(1537);
7673 dataType();
7674 setState(1538);
7675 match(COMMA_);
7676 setState(1539);
7677 expr(0);
7678 setState(1542);
7679 _errHandler.sync(this);
7680 _la = _input.LA(1);
7681 if (_la==COMMA_) {
7682 {
7683 setState(1540);
7684 match(COMMA_);
7685 setState(1541);
7686 match(NUMBER_);
7687 }
7688 }
7689
7690 setState(1544);
7691 match(RP_);
7692 }
7693 }
7694 catch (RecognitionException re) {
7695 _localctx.exception = re;
7696 _errHandler.reportError(this, re);
7697 _errHandler.recover(this, re);
7698 }
7699 finally {
7700 exitRule();
7701 }
7702 return _localctx;
7703 }
7704
7705 public static class CharFunctionContext extends ParserRuleContext {
7706 public TerminalNode CHAR() { return getToken(SQLServerStatementParser.CHAR, 0); }
7707 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7708 public List<ExprContext> expr() {
7709 return getRuleContexts(ExprContext.class);
7710 }
7711 public ExprContext expr(int i) {
7712 return getRuleContext(ExprContext.class,i);
7713 }
7714 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7715 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
7716 public TerminalNode COMMA_(int i) {
7717 return getToken(SQLServerStatementParser.COMMA_, i);
7718 }
7719 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
7720 public IgnoredIdentifierContext ignoredIdentifier() {
7721 return getRuleContext(IgnoredIdentifierContext.class,0);
7722 }
7723 public CharFunctionContext(ParserRuleContext parent, int invokingState) {
7724 super(parent, invokingState);
7725 }
7726 @Override public int getRuleIndex() { return RULE_charFunction; }
7727 @Override
7728 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7729 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCharFunction(this);
7730 else return visitor.visitChildren(this);
7731 }
7732 }
7733
7734 public final CharFunctionContext charFunction() throws RecognitionException {
7735 CharFunctionContext _localctx = new CharFunctionContext(_ctx, getState());
7736 enterRule(_localctx, 130, RULE_charFunction);
7737 int _la;
7738 try {
7739 enterOuterAlt(_localctx, 1);
7740 {
7741 setState(1546);
7742 match(CHAR);
7743 setState(1547);
7744 match(LP_);
7745 setState(1548);
7746 expr(0);
7747 setState(1553);
7748 _errHandler.sync(this);
7749 _la = _input.LA(1);
7750 while (_la==COMMA_) {
7751 {
7752 {
7753 setState(1549);
7754 match(COMMA_);
7755 setState(1550);
7756 expr(0);
7757 }
7758 }
7759 setState(1555);
7760 _errHandler.sync(this);
7761 _la = _input.LA(1);
7762 }
7763 setState(1558);
7764 _errHandler.sync(this);
7765 _la = _input.LA(1);
7766 if (_la==USING) {
7767 {
7768 setState(1556);
7769 match(USING);
7770 setState(1557);
7771 ignoredIdentifier();
7772 }
7773 }
7774
7775 setState(1560);
7776 match(RP_);
7777 }
7778 }
7779 catch (RecognitionException re) {
7780 _localctx.exception = re;
7781 _errHandler.reportError(this, re);
7782 _errHandler.recover(this, re);
7783 }
7784 finally {
7785 exitRule();
7786 }
7787 return _localctx;
7788 }
7789
7790 public static class RegularFunctionContext extends ParserRuleContext {
7791 public RegularFunctionNameContext regularFunctionName() {
7792 return getRuleContext(RegularFunctionNameContext.class,0);
7793 }
7794 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7795 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7796 public List<ExprContext> expr() {
7797 return getRuleContexts(ExprContext.class);
7798 }
7799 public ExprContext expr(int i) {
7800 return getRuleContext(ExprContext.class,i);
7801 }
7802 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
7803 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
7804 public TerminalNode COMMA_(int i) {
7805 return getToken(SQLServerStatementParser.COMMA_, i);
7806 }
7807 public RegularFunctionContext(ParserRuleContext parent, int invokingState) {
7808 super(parent, invokingState);
7809 }
7810 @Override public int getRuleIndex() { return RULE_regularFunction; }
7811 @Override
7812 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7813 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularFunction(this);
7814 else return visitor.visitChildren(this);
7815 }
7816 }
7817
7818 public final RegularFunctionContext regularFunction() throws RecognitionException {
7819 RegularFunctionContext _localctx = new RegularFunctionContext(_ctx, getState());
7820 enterRule(_localctx, 132, RULE_regularFunction);
7821 int _la;
7822 try {
7823 enterOuterAlt(_localctx, 1);
7824 {
7825 setState(1562);
7826 regularFunctionName();
7827 setState(1563);
7828 match(LP_);
7829 setState(1573);
7830 _errHandler.sync(this);
7831 switch (_input.LA(1)) {
7832 case NOT_:
7833 case TILDE_:
7834 case PLUS_:
7835 case MINUS_:
7836 case LP_:
7837 case LBE_:
7838 case QUESTION_:
7839 case DOLLAR_:
7840 case TRUNCATE:
7841 case SCHEMA:
7842 case COLUMNS:
7843 case PRECISION:
7844 case FUNCTION:
7845 case TRIGGER:
7846 case CASE:
7847 case CAST:
7848 case SUBSTRING:
7849 case OFF:
7850 case IF:
7851 case NOT:
7852 case NULL:
7853 case TRUE:
7854 case FALSE:
7855 case EXISTS:
7856 case GROUP:
7857 case LIMIT:
7858 case OFFSET:
7859 case SAVEPOINT:
7860 case BOOLEAN:
7861 case CHAR:
7862 case ARRAY:
7863 case INTERVAL:
7864 case DATE:
7865 case TIME:
7866 case TIMESTAMP:
7867 case LOCALTIME:
7868 case LOCALTIMESTAMP:
7869 case QUARTER:
7870 case WEEK:
7871 case DAY:
7872 case SECOND:
7873 case MICROSECOND:
7874 case MAX:
7875 case MIN:
7876 case SUM:
7877 case COUNT:
7878 case AVG:
7879 case ENABLE:
7880 case DISABLE:
7881 case INSTANCE:
7882 case DO:
7883 case DEFINER:
7884 case SQL:
7885 case CASCADED:
7886 case LOCAL:
7887 case NEXT:
7888 case NAME:
7889 case INTEGER:
7890 case TYPE:
7891 case TEXT:
7892 case VIEWS:
7893 case READ_ONLY:
7894 case DATABASE:
7895 case RETURNS:
7896 case DATEPART:
7897 case PASSWORD:
7898 case BINARY:
7899 case HIDDEN_:
7900 case MOD:
7901 case PARTITION:
7902 case PARTITIONS:
7903 case TOP:
7904 case ROW:
7905 case ROWS:
7906 case XOR:
7907 case ALWAYS:
7908 case ROLE:
7909 case START:
7910 case ALGORITHM:
7911 case AUTO:
7912 case BLOCKERS:
7913 case CLUSTERED:
7914 case NONCLUSTERED:
7915 case COLUMNSTORE:
7916 case CONTENT:
7917 case CONVERT:
7918 case YEARS:
7919 case MONTHS:
7920 case WEEKS:
7921 case DAYS:
7922 case MINUTES:
7923 case DENY:
7924 case DETERMINISTIC:
7925 case DISTRIBUTION:
7926 case DOCUMENT:
7927 case DURABILITY:
7928 case ENCRYPTED:
7929 case FILESTREAM:
7930 case FILETABLE:
7931 case FILLFACTOR:
7932 case FOLLOWING:
7933 case HASH:
7934 case HEAP:
7935 case INBOUND:
7936 case OUTBOUND:
7937 case UNBOUNDED:
7938 case INFINITE:
7939 case LOGIN:
7940 case MASKED:
7941 case MAXDOP:
7942 case MOVE:
7943 case NOCHECK:
7944 case OBJECT:
7945 case ONLINE:
7946 case OVER:
7947 case PAGE:
7948 case PAUSED:
7949 case PERIOD:
7950 case PERSISTED:
7951 case PRECEDING:
7952 case RANDOMIZED:
7953 case RANGE:
7954 case REBUILD:
7955 case REPLICATE:
7956 case REPLICATION:
7957 case RESUMABLE:
7958 case ROWGUIDCOL:
7959 case SAVE:
7960 case SELF:
7961 case SPARSE:
7962 case SWITCH:
7963 case TRAN:
7964 case TRANCOUNT:
7965 case CONTROL:
7966 case CONCAT:
7967 case TAKE:
7968 case OWNERSHIP:
7969 case DEFINITION:
7970 case APPLICATION:
7971 case ASSEMBLY:
7972 case SYMMETRIC:
7973 case ASYMMETRIC:
7974 case SERVER:
7975 case RECEIVE:
7976 case CHANGE:
7977 case TRACE:
7978 case TRACKING:
7979 case RESOURCES:
7980 case SETTINGS:
7981 case STATE:
7982 case AVAILABILITY:
7983 case CREDENTIAL:
7984 case ENDPOINT:
7985 case EVENT:
7986 case NOTIFICATION:
7987 case LINKED:
7988 case AUDIT:
7989 case DDL:
7990 case XML:
7991 case IMPERSONATE:
7992 case SECURABLES:
7993 case AUTHENTICATE:
7994 case EXTERNAL:
7995 case ACCESS:
7996 case ADMINISTER:
7997 case BULK:
7998 case OPERATIONS:
7999 case UNSAFE:
8000 case SHUTDOWN:
8001 case SCOPED:
8002 case CONFIGURATION:
8003 case DATASPACE:
8004 case SERVICE:
8005 case CERTIFICATE:
8006 case CONTRACT:
8007 case ENCRYPTION:
8008 case MASTER:
8009 case DATA:
8010 case SOURCE:
8011 case FILE:
8012 case FORMAT:
8013 case LIBRARY:
8014 case FULLTEXT:
8015 case MASK:
8016 case UNMASK:
8017 case MESSAGE:
8018 case REMOTE:
8019 case BINDING:
8020 case ROUTE:
8021 case SECURITY:
8022 case POLICY:
8023 case AGGREGATE:
8024 case QUEUE:
8025 case RULE:
8026 case SYNONYM:
8027 case COLLECTION:
8028 case SCRIPT:
8029 case KILL:
8030 case BACKUP:
8031 case LOG:
8032 case SHOWPLAN:
8033 case SUBSCRIBE:
8034 case QUERY:
8035 case NOTIFICATIONS:
8036 case CHECKPOINT:
8037 case SEQUENCE:
8038 case ABORT_AFTER_WAIT:
8039 case ALLOW_PAGE_LOCKS:
8040 case ALLOW_ROW_LOCKS:
8041 case ALL_SPARSE_COLUMNS:
8042 case BUCKET_COUNT:
8043 case COLUMNSTORE_ARCHIVE:
8044 case COLUMN_ENCRYPTION_KEY:
8045 case COLUMN_SET:
8046 case COMPRESSION_DELAY:
8047 case DATABASE_DEAULT:
8048 case DATA_COMPRESSION:
8049 case DATA_CONSISTENCY_CHECK:
8050 case ENCRYPTION_TYPE:
8051 case SYSTEM_TIME:
8052 case SYSTEM_VERSIONING:
8053 case TEXTIMAGE_ON:
8054 case WAIT_AT_LOW_PRIORITY:
8055 case STATISTICS_INCREMENTAL:
8056 case STATISTICS_NORECOMPUTE:
8057 case ROUND_ROBIN:
8058 case SCHEMA_AND_DATA:
8059 case SCHEMA_ONLY:
8060 case SORT_IN_TEMPDB:
8061 case IGNORE_DUP_KEY:
8062 case IMPLICIT_TRANSACTIONS:
8063 case MAX_DURATION:
8064 case MEMORY_OPTIMIZED:
8065 case MIGRATION_STATE:
8066 case PAD_INDEX:
8067 case REMOTE_DATA_ARCHIVE:
8068 case FILESTREAM_ON:
8069 case FILETABLE_COLLATE_FILENAME:
8070 case FILETABLE_DIRECTORY:
8071 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
8072 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
8073 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
8074 case FILTER_PREDICATE:
8075 case HISTORY_RETENTION_PERIOD:
8076 case HISTORY_TABLE:
8077 case LOCK_ESCALATION:
8078 case DROP_EXISTING:
8079 case ROW_NUMBER:
8080 case FIRST:
8081 case DATETIME2:
8082 case OUTPUT:
8083 case INSERTED:
8084 case DELETED:
8085 case FILENAME:
8086 case MAXSIZE:
8087 case FILEGROWTH:
8088 case UNLIMITED:
8089 case KB:
8090 case MB:
8091 case GB:
8092 case TB:
8093 case MEMORY_OPTIMIZED_DATA:
8094 case FILEGROUP:
8095 case NON_TRANSACTED_ACCESS:
8096 case DB_CHAINING:
8097 case TRUSTWORTHY:
8098 case FORWARD_ONLY:
8099 case KEYSET:
8100 case FAST_FORWARD:
8101 case SCROLL_LOCKS:
8102 case OPTIMISTIC:
8103 case TYPE_WARNING:
8104 case SCHEMABINDING:
8105 case CALLER:
8106 case OWNER:
8107 case SNAPSHOT:
8108 case REPEATABLE:
8109 case SERIALIZABLE:
8110 case NATIVE_COMPILATION:
8111 case VIEW_METADATA:
8112 case INSTEAD:
8113 case APPEND:
8114 case INCREMENT:
8115 case CACHE:
8116 case MINVALUE:
8117 case MAXVALUE:
8118 case RESTART:
8119 case LOB_COMPACTION:
8120 case COMPRESS_ALL_ROW_GROUPS:
8121 case REORGANIZE:
8122 case RESUME:
8123 case PAUSE:
8124 case ABORT:
8125 case ACCELERATED_DATABASE_RECOVERY:
8126 case PERSISTENT_VERSION_STORE_FILEGROUP:
8127 case IMMEDIATE:
8128 case NO_WAIT:
8129 case TARGET_RECOVERY_TIME:
8130 case SECONDS:
8131 case HONOR_BROKER_PRIORITY:
8132 case ERROR_BROKER_CONVERSATIONS:
8133 case NEW_BROKER:
8134 case DISABLE_BROKER:
8135 case ENABLE_BROKER:
8136 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
8137 case READ_COMMITTED_SNAPSHOT:
8138 case ALLOW_SNAPSHOT_ISOLATION:
8139 case RECURSIVE_TRIGGERS:
8140 case QUOTED_IDENTIFIER:
8141 case NUMERIC_ROUNDABORT:
8142 case CONCAT_NULL_YIELDS_NULL:
8143 case COMPATIBILITY_LEVEL:
8144 case ARITHABORT:
8145 case ANSI_WARNINGS:
8146 case ANSI_PADDING:
8147 case ANSI_NULLS:
8148 case ANSI_NULL_DEFAULT:
8149 case PAGE_VERIFY:
8150 case CHECKSUM:
8151 case TORN_PAGE_DETECTION:
8152 case BULK_LOGGED:
8153 case RECOVERY:
8154 case TOTAL_EXECUTION_CPU_TIME_MS:
8155 case TOTAL_COMPILE_CPU_TIME_MS:
8156 case STALE_CAPTURE_POLICY_THRESHOLD:
8157 case EXECUTION_COUNT:
8158 case QUERY_CAPTURE_POLICY:
8159 case WAIT_STATS_CAPTURE_MODE:
8160 case MAX_PLANS_PER_QUERY:
8161 case QUERY_CAPTURE_MODE:
8162 case SIZE_BASED_CLEANUP_MODE:
8163 case INTERVAL_LENGTH_MINUTES:
8164 case MAX_STORAGE_SIZE_MB:
8165 case DATA_FLUSH_INTERVAL_SECONDS:
8166 case CLEANUP_POLICY:
8167 case CUSTOM:
8168 case STALE_QUERY_THRESHOLD_DAYS:
8169 case OPERATION_MODE:
8170 case QUERY_STORE:
8171 case CURSOR_DEFAULT:
8172 case GLOBAL:
8173 case CURSOR_CLOSE_ON_COMMIT:
8174 case HOURS:
8175 case CHANGE_RETENTION:
8176 case AUTO_CLEANUP:
8177 case CHANGE_TRACKING:
8178 case AUTOMATIC_TUNING:
8179 case FORCE_LAST_GOOD_PLAN:
8180 case AUTO_UPDATE_STATISTICS_ASYNC:
8181 case AUTO_UPDATE_STATISTICS:
8182 case AUTO_SHRINK:
8183 case AUTO_CREATE_STATISTICS:
8184 case INCREMENTAL:
8185 case AUTO_CLOSE:
8186 case DATA_RETENTION:
8187 case TEMPORAL_HISTORY_RETENTION:
8188 case EDITION:
8189 case MIXED_PAGE_ALLOCATION:
8190 case DISABLED:
8191 case ALLOWED:
8192 case HADR:
8193 case MULTI_USER:
8194 case RESTRICTED_USER:
8195 case SINGLE_USER:
8196 case OFFLINE:
8197 case EMERGENCY:
8198 case SUSPEND:
8199 case DATE_CORRELATION_OPTIMIZATION:
8200 case ELASTIC_POOL:
8201 case SERVICE_OBJECTIVE:
8202 case DATABASE_NAME:
8203 case ALLOW_CONNECTIONS:
8204 case GEO:
8205 case NAMED:
8206 case DATEFIRST:
8207 case BACKUP_STORAGE_REDUNDANCY:
8208 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
8209 case SECONDARY:
8210 case FAILOVER:
8211 case DEFAULT_FULLTEXT_LANGUAGE:
8212 case DEFAULT_LANGUAGE:
8213 case INLINE:
8214 case NESTED_TRIGGERS:
8215 case TRANSFORM_NOISE_WORDS:
8216 case TWO_DIGIT_YEAR_CUTOFF:
8217 case PERSISTENT_LOG_BUFFER:
8218 case DIRECTORY_NAME:
8219 case DATEFORMAT:
8220 case DELAYED_DURABILITY:
8221 case AUTHORIZATION:
8222 case TRANSFER:
8223 case PROVIDER:
8224 case SEARCH:
8225 case MEMBER:
8226 case IDENTIFIER_:
8227 case DELIMITED_IDENTIFIER_:
8228 case STRING_:
8229 case NUMBER_:
8230 case HEX_DIGIT_:
8231 case BIT_NUM_:
8232 case NCHAR_TEXT:
8233 {
8234 setState(1564);
8235 expr(0);
8236 setState(1569);
8237 _errHandler.sync(this);
8238 _la = _input.LA(1);
8239 while (_la==COMMA_) {
8240 {
8241 {
8242 setState(1565);
8243 match(COMMA_);
8244 setState(1566);
8245 expr(0);
8246 }
8247 }
8248 setState(1571);
8249 _errHandler.sync(this);
8250 _la = _input.LA(1);
8251 }
8252 }
8253 break;
8254 case ASTERISK_:
8255 {
8256 setState(1572);
8257 match(ASTERISK_);
8258 }
8259 break;
8260 case RP_:
8261 break;
8262 default:
8263 break;
8264 }
8265 setState(1575);
8266 match(RP_);
8267 }
8268 }
8269 catch (RecognitionException re) {
8270 _localctx.exception = re;
8271 _errHandler.reportError(this, re);
8272 _errHandler.recover(this, re);
8273 }
8274 finally {
8275 exitRule();
8276 }
8277 return _localctx;
8278 }
8279
8280 public static class RegularFunctionNameContext extends ParserRuleContext {
8281 public IdentifierContext identifier() {
8282 return getRuleContext(IdentifierContext.class,0);
8283 }
8284 public OwnerContext owner() {
8285 return getRuleContext(OwnerContext.class,0);
8286 }
8287 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
8288 public TerminalNode IF() { return getToken(SQLServerStatementParser.IF, 0); }
8289 public TerminalNode LOCALTIME() { return getToken(SQLServerStatementParser.LOCALTIME, 0); }
8290 public TerminalNode LOCALTIMESTAMP() { return getToken(SQLServerStatementParser.LOCALTIMESTAMP, 0); }
8291 public TerminalNode INTERVAL() { return getToken(SQLServerStatementParser.INTERVAL, 0); }
8292 public RegularFunctionNameContext(ParserRuleContext parent, int invokingState) {
8293 super(parent, invokingState);
8294 }
8295 @Override public int getRuleIndex() { return RULE_regularFunctionName; }
8296 @Override
8297 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8298 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularFunctionName(this);
8299 else return visitor.visitChildren(this);
8300 }
8301 }
8302
8303 public final RegularFunctionNameContext regularFunctionName() throws RecognitionException {
8304 RegularFunctionNameContext _localctx = new RegularFunctionNameContext(_ctx, getState());
8305 enterRule(_localctx, 134, RULE_regularFunctionName);
8306 try {
8307 setState(1587);
8308 _errHandler.sync(this);
8309 switch ( getInterpreter().adaptivePredict(_input,72,_ctx) ) {
8310 case 1:
8311 enterOuterAlt(_localctx, 1);
8312 {
8313 setState(1580);
8314 _errHandler.sync(this);
8315 switch ( getInterpreter().adaptivePredict(_input,71,_ctx) ) {
8316 case 1:
8317 {
8318 setState(1577);
8319 owner();
8320 setState(1578);
8321 match(DOT_);
8322 }
8323 break;
8324 }
8325 setState(1582);
8326 identifier();
8327 }
8328 break;
8329 case 2:
8330 enterOuterAlt(_localctx, 2);
8331 {
8332 setState(1583);
8333 match(IF);
8334 }
8335 break;
8336 case 3:
8337 enterOuterAlt(_localctx, 3);
8338 {
8339 setState(1584);
8340 match(LOCALTIME);
8341 }
8342 break;
8343 case 4:
8344 enterOuterAlt(_localctx, 4);
8345 {
8346 setState(1585);
8347 match(LOCALTIMESTAMP);
8348 }
8349 break;
8350 case 5:
8351 enterOuterAlt(_localctx, 5);
8352 {
8353 setState(1586);
8354 match(INTERVAL);
8355 }
8356 break;
8357 }
8358 }
8359 catch (RecognitionException re) {
8360 _localctx.exception = re;
8361 _errHandler.reportError(this, re);
8362 _errHandler.recover(this, re);
8363 }
8364 finally {
8365 exitRule();
8366 }
8367 return _localctx;
8368 }
8369
8370 public static class CaseExpressionContext extends ParserRuleContext {
8371 public TerminalNode CASE() { return getToken(SQLServerStatementParser.CASE, 0); }
8372 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
8373 public SimpleExprContext simpleExpr() {
8374 return getRuleContext(SimpleExprContext.class,0);
8375 }
8376 public List<CaseWhenContext> caseWhen() {
8377 return getRuleContexts(CaseWhenContext.class);
8378 }
8379 public CaseWhenContext caseWhen(int i) {
8380 return getRuleContext(CaseWhenContext.class,i);
8381 }
8382 public CaseElseContext caseElse() {
8383 return getRuleContext(CaseElseContext.class,0);
8384 }
8385 public CaseExpressionContext(ParserRuleContext parent, int invokingState) {
8386 super(parent, invokingState);
8387 }
8388 @Override public int getRuleIndex() { return RULE_caseExpression; }
8389 @Override
8390 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8391 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseExpression(this);
8392 else return visitor.visitChildren(this);
8393 }
8394 }
8395
8396 public final CaseExpressionContext caseExpression() throws RecognitionException {
8397 CaseExpressionContext _localctx = new CaseExpressionContext(_ctx, getState());
8398 enterRule(_localctx, 136, RULE_caseExpression);
8399 int _la;
8400 try {
8401 enterOuterAlt(_localctx, 1);
8402 {
8403 setState(1589);
8404 match(CASE);
8405 setState(1591);
8406 _errHandler.sync(this);
8407 _la = _input.LA(1);
8408 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << QUESTION_) | (1L << DOLLAR_) | (1L << TRUNCATE) | (1L << SCHEMA) | (1L << COLUMNS))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (PRECISION - 69)) | (1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CASE - 69)) | (1L << (CAST - 69)) | (1L << (SUBSTRING - 69)) | (1L << (OFF - 69)) | (1L << (IF - 69)) | (1L << (NULL - 69)) | (1L << (TRUE - 69)) | (1L << (FALSE - 69)) | (1L << (EXISTS - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)) | (1L << (CHAR - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (ARRAY - 133)) | (1L << (INTERVAL - 133)) | (1L << (DATE - 133)) | (1L << (TIME - 133)) | (1L << (TIMESTAMP - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (QUARTER - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (SECOND - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)) | (1L << (TEXT - 133)) | (1L << (VIEWS - 133)))) != 0) || ((((_la - 203)) & ~0x3f) == 0 && ((1L << (_la - 203)) & ((1L << (READ_ONLY - 203)) | (1L << (DATABASE - 203)) | (1L << (RETURNS - 203)) | (1L << (DATEPART - 203)) | (1L << (PASSWORD - 203)) | (1L << (BINARY - 203)) | (1L << (HIDDEN_ - 203)) | (1L << (MOD - 203)) | (1L << (PARTITION - 203)) | (1L << (PARTITIONS - 203)) | (1L << (TOP - 203)) | (1L << (ROW - 203)) | (1L << (ROWS - 203)) | (1L << (XOR - 203)) | (1L << (ALWAYS - 203)) | (1L << (ROLE - 203)) | (1L << (START - 203)) | (1L << (ALGORITHM - 203)) | (1L << (AUTO - 203)) | (1L << (BLOCKERS - 203)) | (1L << (CLUSTERED - 203)) | (1L << (NONCLUSTERED - 203)) | (1L << (COLUMNSTORE - 203)) | (1L << (CONTENT - 203)) | (1L << (CONVERT - 203)) | (1L << (YEARS - 203)) | (1L << (MONTHS - 203)) | (1L << (WEEKS - 203)) | (1L << (DAYS - 203)) | (1L << (MINUTES - 203)) | (1L << (DENY - 203)) | (1L << (DETERMINISTIC - 203)) | (1L << (DISTRIBUTION - 203)) | (1L << (DOCUMENT - 203)) | (1L << (DURABILITY - 203)) | (1L << (ENCRYPTED - 203)) | (1L << (FILESTREAM - 203)) | (1L << (FILETABLE - 203)) | (1L << (FILLFACTOR - 203)) | (1L << (FOLLOWING - 203)) | (1L << (HASH - 203)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (HEAP - 267)) | (1L << (INBOUND - 267)) | (1L << (OUTBOUND - 267)) | (1L << (UNBOUNDED - 267)) | (1L << (INFINITE - 267)) | (1L << (LOGIN - 267)) | (1L << (MASKED - 267)) | (1L << (MAXDOP - 267)) | (1L << (MOVE - 267)) | (1L << (NOCHECK - 267)) | (1L << (OBJECT - 267)) | (1L << (ONLINE - 267)) | (1L << (OVER - 267)) | (1L << (PAGE - 267)) | (1L << (PAUSED - 267)) | (1L << (PERIOD - 267)) | (1L << (PERSISTED - 267)) | (1L << (PRECEDING - 267)) | (1L << (RANDOMIZED - 267)) | (1L << (RANGE - 267)) | (1L << (REBUILD - 267)) | (1L << (REPLICATE - 267)) | (1L << (REPLICATION - 267)) | (1L << (RESUMABLE - 267)) | (1L << (ROWGUIDCOL - 267)) | (1L << (SAVE - 267)) | (1L << (SELF - 267)) | (1L << (SPARSE - 267)) | (1L << (SWITCH - 267)) | (1L << (TRAN - 267)) | (1L << (TRANCOUNT - 267)) | (1L << (CONTROL - 267)) | (1L << (CONCAT - 267)) | (1L << (TAKE - 267)) | (1L << (OWNERSHIP - 267)) | (1L << (DEFINITION - 267)) | (1L << (APPLICATION - 267)) | (1L << (ASSEMBLY - 267)) | (1L << (SYMMETRIC - 267)) | (1L << (ASYMMETRIC - 267)) | (1L << (SERVER - 267)) | (1L << (RECEIVE - 267)) | (1L << (CHANGE - 267)) | (1L << (TRACE - 267)) | (1L << (TRACKING - 267)) | (1L << (RESOURCES - 267)) | (1L << (SETTINGS - 267)) | (1L << (STATE - 267)) | (1L << (AVAILABILITY - 267)) | (1L << (CREDENTIAL - 267)) | (1L << (ENDPOINT - 267)) | (1L << (EVENT - 267)) | (1L << (NOTIFICATION - 267)) | (1L << (LINKED - 267)) | (1L << (AUDIT - 267)))) != 0) || ((((_la - 331)) & ~0x3f) == 0 && ((1L << (_la - 331)) & ((1L << (DDL - 331)) | (1L << (XML - 331)) | (1L << (IMPERSONATE - 331)) | (1L << (SECURABLES - 331)) | (1L << (AUTHENTICATE - 331)) | (1L << (EXTERNAL - 331)) | (1L << (ACCESS - 331)) | (1L << (ADMINISTER - 331)) | (1L << (BULK - 331)) | (1L << (OPERATIONS - 331)) | (1L << (UNSAFE - 331)) | (1L << (SHUTDOWN - 331)) | (1L << (SCOPED - 331)) | (1L << (CONFIGURATION - 331)) | (1L << (DATASPACE - 331)) | (1L << (SERVICE - 331)) | (1L << (CERTIFICATE - 331)) | (1L << (CONTRACT - 331)) | (1L << (ENCRYPTION - 331)) | (1L << (MASTER - 331)) | (1L << (DATA - 331)) | (1L << (SOURCE - 331)) | (1L << (FILE - 331)) | (1L << (FORMAT - 331)) | (1L << (LIBRARY - 331)) | (1L << (FULLTEXT - 331)) | (1L << (MASK - 331)) | (1L << (UNMASK - 331)) | (1L << (MESSAGE - 331)) | (1L << (REMOTE - 331)) | (1L << (BINDING - 331)) | (1L << (ROUTE - 331)) | (1L << (SECURITY - 331)) | (1L << (POLICY - 331)) | (1L << (AGGREGATE - 331)) | (1L << (QUEUE - 331)) | (1L << (RULE - 331)) | (1L << (SYNONYM - 331)) | (1L << (COLLECTION - 331)) | (1L << (SCRIPT - 331)) | (1L << (KILL - 331)) | (1L << (BACKUP - 331)) | (1L << (LOG - 331)) | (1L << (SHOWPLAN - 331)) | (1L << (SUBSCRIBE - 331)) | (1L << (QUERY - 331)) | (1L << (NOTIFICATIONS - 331)) | (1L << (CHECKPOINT - 331)) | (1L << (SEQUENCE - 331)) | (1L << (ABORT_AFTER_WAIT - 331)) | (1L << (ALLOW_PAGE_LOCKS - 331)) | (1L << (ALLOW_ROW_LOCKS - 331)) | (1L << (ALL_SPARSE_COLUMNS - 331)) | (1L << (BUCKET_COUNT - 331)) | (1L << (COLUMNSTORE_ARCHIVE - 331)) | (1L << (COLUMN_ENCRYPTION_KEY - 331)) | (1L << (COLUMN_SET - 331)) | (1L << (COMPRESSION_DELAY - 331)) | (1L << (DATABASE_DEAULT - 331)) | (1L << (DATA_COMPRESSION - 331)) | (1L << (DATA_CONSISTENCY_CHECK - 331)) | (1L << (ENCRYPTION_TYPE - 331)) | (1L << (SYSTEM_TIME - 331)) | (1L << (SYSTEM_VERSIONING - 331)))) != 0) || ((((_la - 395)) & ~0x3f) == 0 && ((1L << (_la - 395)) & ((1L << (TEXTIMAGE_ON - 395)) | (1L << (WAIT_AT_LOW_PRIORITY - 395)) | (1L << (STATISTICS_INCREMENTAL - 395)) | (1L << (STATISTICS_NORECOMPUTE - 395)) | (1L << (ROUND_ROBIN - 395)) | (1L << (SCHEMA_AND_DATA - 395)) | (1L << (SCHEMA_ONLY - 395)) | (1L << (SORT_IN_TEMPDB - 395)) | (1L << (IGNORE_DUP_KEY - 395)) | (1L << (IMPLICIT_TRANSACTIONS - 395)) | (1L << (MAX_DURATION - 395)) | (1L << (MEMORY_OPTIMIZED - 395)) | (1L << (MIGRATION_STATE - 395)) | (1L << (PAD_INDEX - 395)) | (1L << (REMOTE_DATA_ARCHIVE - 395)) | (1L << (FILESTREAM_ON - 395)) | (1L << (FILETABLE_COLLATE_FILENAME - 395)) | (1L << (FILETABLE_DIRECTORY - 395)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILTER_PREDICATE - 395)) | (1L << (HISTORY_RETENTION_PERIOD - 395)) | (1L << (HISTORY_TABLE - 395)) | (1L << (LOCK_ESCALATION - 395)) | (1L << (DROP_EXISTING - 395)) | (1L << (ROW_NUMBER - 395)) | (1L << (FIRST - 395)) | (1L << (DATETIME2 - 395)) | (1L << (OUTPUT - 395)) | (1L << (INSERTED - 395)) | (1L << (DELETED - 395)))) != 0) || ((((_la - 480)) & ~0x3f) == 0 && ((1L << (_la - 480)) & ((1L << (FILENAME - 480)) | (1L << (MAXSIZE - 480)) | (1L << (FILEGROWTH - 480)) | (1L << (UNLIMITED - 480)) | (1L << (KB - 480)) | (1L << (MB - 480)) | (1L << (GB - 480)) | (1L << (TB - 480)) | (1L << (MEMORY_OPTIMIZED_DATA - 480)) | (1L << (FILEGROUP - 480)) | (1L << (NON_TRANSACTED_ACCESS - 480)) | (1L << (DB_CHAINING - 480)) | (1L << (TRUSTWORTHY - 480)) | (1L << (FORWARD_ONLY - 480)) | (1L << (KEYSET - 480)) | (1L << (FAST_FORWARD - 480)) | (1L << (SCROLL_LOCKS - 480)) | (1L << (OPTIMISTIC - 480)) | (1L << (TYPE_WARNING - 480)) | (1L << (SCHEMABINDING - 480)) | (1L << (CALLER - 480)) | (1L << (OWNER - 480)) | (1L << (SNAPSHOT - 480)) | (1L << (REPEATABLE - 480)) | (1L << (SERIALIZABLE - 480)) | (1L << (NATIVE_COMPILATION - 480)) | (1L << (VIEW_METADATA - 480)) | (1L << (INSTEAD - 480)) | (1L << (APPEND - 480)) | (1L << (INCREMENT - 480)) | (1L << (CACHE - 480)) | (1L << (MINVALUE - 480)) | (1L << (MAXVALUE - 480)) | (1L << (RESTART - 480)) | (1L << (LOB_COMPACTION - 480)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 480)) | (1L << (REORGANIZE - 480)) | (1L << (RESUME - 480)) | (1L << (PAUSE - 480)) | (1L << (ABORT - 480)))) != 0) || ((((_la - 546)) & ~0x3f) == 0 && ((1L << (_la - 546)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 546)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 546)) | (1L << (IMMEDIATE - 546)) | (1L << (NO_WAIT - 546)) | (1L << (TARGET_RECOVERY_TIME - 546)) | (1L << (SECONDS - 546)) | (1L << (HONOR_BROKER_PRIORITY - 546)) | (1L << (ERROR_BROKER_CONVERSATIONS - 546)) | (1L << (NEW_BROKER - 546)) | (1L << (DISABLE_BROKER - 546)) | (1L << (ENABLE_BROKER - 546)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 546)) | (1L << (READ_COMMITTED_SNAPSHOT - 546)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 546)) | (1L << (RECURSIVE_TRIGGERS - 546)) | (1L << (QUOTED_IDENTIFIER - 546)) | (1L << (NUMERIC_ROUNDABORT - 546)) | (1L << (CONCAT_NULL_YIELDS_NULL - 546)) | (1L << (COMPATIBILITY_LEVEL - 546)) | (1L << (ARITHABORT - 546)) | (1L << (ANSI_WARNINGS - 546)) | (1L << (ANSI_PADDING - 546)) | (1L << (ANSI_NULLS - 546)) | (1L << (ANSI_NULL_DEFAULT - 546)) | (1L << (PAGE_VERIFY - 546)) | (1L << (CHECKSUM - 546)) | (1L << (TORN_PAGE_DETECTION - 546)) | (1L << (BULK_LOGGED - 546)) | (1L << (RECOVERY - 546)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 546)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 546)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 546)) | (1L << (EXECUTION_COUNT - 546)) | (1L << (QUERY_CAPTURE_POLICY - 546)) | (1L << (WAIT_STATS_CAPTURE_MODE - 546)) | (1L << (MAX_PLANS_PER_QUERY - 546)) | (1L << (QUERY_CAPTURE_MODE - 546)) | (1L << (SIZE_BASED_CLEANUP_MODE - 546)) | (1L << (INTERVAL_LENGTH_MINUTES - 546)) | (1L << (MAX_STORAGE_SIZE_MB - 546)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 546)) | (1L << (CLEANUP_POLICY - 546)) | (1L << (CUSTOM - 546)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 546)) | (1L << (OPERATION_MODE - 546)) | (1L << (QUERY_STORE - 546)) | (1L << (CURSOR_DEFAULT - 546)) | (1L << (GLOBAL - 546)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 546)) | (1L << (HOURS - 546)) | (1L << (CHANGE_RETENTION - 546)) | (1L << (AUTO_CLEANUP - 546)) | (1L << (CHANGE_TRACKING - 546)) | (1L << (AUTOMATIC_TUNING - 546)) | (1L << (FORCE_LAST_GOOD_PLAN - 546)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 546)) | (1L << (AUTO_UPDATE_STATISTICS - 546)) | (1L << (AUTO_SHRINK - 546)) | (1L << (AUTO_CREATE_STATISTICS - 546)) | (1L << (INCREMENTAL - 546)) | (1L << (AUTO_CLOSE - 546)) | (1L << (DATA_RETENTION - 546)) | (1L << (TEMPORAL_HISTORY_RETENTION - 546)) | (1L << (EDITION - 546)))) != 0) || ((((_la - 610)) & ~0x3f) == 0 && ((1L << (_la - 610)) & ((1L << (MIXED_PAGE_ALLOCATION - 610)) | (1L << (DISABLED - 610)) | (1L << (ALLOWED - 610)) | (1L << (HADR - 610)) | (1L << (MULTI_USER - 610)) | (1L << (RESTRICTED_USER - 610)) | (1L << (SINGLE_USER - 610)) | (1L << (OFFLINE - 610)) | (1L << (EMERGENCY - 610)) | (1L << (SUSPEND - 610)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 610)) | (1L << (ELASTIC_POOL - 610)) | (1L << (SERVICE_OBJECTIVE - 610)) | (1L << (DATABASE_NAME - 610)) | (1L << (ALLOW_CONNECTIONS - 610)) | (1L << (GEO - 610)) | (1L << (NAMED - 610)) | (1L << (DATEFIRST - 610)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 610)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 610)) | (1L << (SECONDARY - 610)) | (1L << (FAILOVER - 610)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 610)) | (1L << (DEFAULT_LANGUAGE - 610)) | (1L << (INLINE - 610)) | (1L << (NESTED_TRIGGERS - 610)) | (1L << (TRANSFORM_NOISE_WORDS - 610)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 610)) | (1L << (PERSISTENT_LOG_BUFFER - 610)) | (1L << (DIRECTORY_NAME - 610)) | (1L << (DATEFORMAT - 610)) | (1L << (DELAYED_DURABILITY - 610)) | (1L << (AUTHORIZATION - 610)) | (1L << (TRANSFER - 610)) | (1L << (PROVIDER - 610)) | (1L << (SEARCH - 610)) | (1L << (MEMBER - 610)))) != 0) || ((((_la - 693)) & ~0x3f) == 0 && ((1L << (_la - 693)) & ((1L << (IDENTIFIER_ - 693)) | (1L << (DELIMITED_IDENTIFIER_ - 693)) | (1L << (STRING_ - 693)) | (1L << (NUMBER_ - 693)) | (1L << (HEX_DIGIT_ - 693)) | (1L << (BIT_NUM_ - 693)) | (1L << (NCHAR_TEXT - 693)))) != 0)) {
8409 {
8410 setState(1590);
8411 simpleExpr(0);
8412 }
8413 }
8414
8415 setState(1594);
8416 _errHandler.sync(this);
8417 _la = _input.LA(1);
8418 do {
8419 {
8420 {
8421 setState(1593);
8422 caseWhen();
8423 }
8424 }
8425 setState(1596);
8426 _errHandler.sync(this);
8427 _la = _input.LA(1);
8428 } while ( _la==WHEN );
8429 setState(1599);
8430 _errHandler.sync(this);
8431 _la = _input.LA(1);
8432 if (_la==ELSE) {
8433 {
8434 setState(1598);
8435 caseElse();
8436 }
8437 }
8438
8439 setState(1601);
8440 match(END);
8441 }
8442 }
8443 catch (RecognitionException re) {
8444 _localctx.exception = re;
8445 _errHandler.reportError(this, re);
8446 _errHandler.recover(this, re);
8447 }
8448 finally {
8449 exitRule();
8450 }
8451 return _localctx;
8452 }
8453
8454 public static class CaseWhenContext extends ParserRuleContext {
8455 public TerminalNode WHEN() { return getToken(SQLServerStatementParser.WHEN, 0); }
8456 public List<ExprContext> expr() {
8457 return getRuleContexts(ExprContext.class);
8458 }
8459 public ExprContext expr(int i) {
8460 return getRuleContext(ExprContext.class,i);
8461 }
8462 public TerminalNode THEN() { return getToken(SQLServerStatementParser.THEN, 0); }
8463 public CaseWhenContext(ParserRuleContext parent, int invokingState) {
8464 super(parent, invokingState);
8465 }
8466 @Override public int getRuleIndex() { return RULE_caseWhen; }
8467 @Override
8468 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8469 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseWhen(this);
8470 else return visitor.visitChildren(this);
8471 }
8472 }
8473
8474 public final CaseWhenContext caseWhen() throws RecognitionException {
8475 CaseWhenContext _localctx = new CaseWhenContext(_ctx, getState());
8476 enterRule(_localctx, 138, RULE_caseWhen);
8477 try {
8478 enterOuterAlt(_localctx, 1);
8479 {
8480 setState(1603);
8481 match(WHEN);
8482 setState(1604);
8483 expr(0);
8484 setState(1605);
8485 match(THEN);
8486 setState(1606);
8487 expr(0);
8488 }
8489 }
8490 catch (RecognitionException re) {
8491 _localctx.exception = re;
8492 _errHandler.reportError(this, re);
8493 _errHandler.recover(this, re);
8494 }
8495 finally {
8496 exitRule();
8497 }
8498 return _localctx;
8499 }
8500
8501 public static class CaseElseContext extends ParserRuleContext {
8502 public TerminalNode ELSE() { return getToken(SQLServerStatementParser.ELSE, 0); }
8503 public ExprContext expr() {
8504 return getRuleContext(ExprContext.class,0);
8505 }
8506 public CaseElseContext(ParserRuleContext parent, int invokingState) {
8507 super(parent, invokingState);
8508 }
8509 @Override public int getRuleIndex() { return RULE_caseElse; }
8510 @Override
8511 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8512 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseElse(this);
8513 else return visitor.visitChildren(this);
8514 }
8515 }
8516
8517 public final CaseElseContext caseElse() throws RecognitionException {
8518 CaseElseContext _localctx = new CaseElseContext(_ctx, getState());
8519 enterRule(_localctx, 140, RULE_caseElse);
8520 try {
8521 enterOuterAlt(_localctx, 1);
8522 {
8523 setState(1608);
8524 match(ELSE);
8525 setState(1609);
8526 expr(0);
8527 }
8528 }
8529 catch (RecognitionException re) {
8530 _localctx.exception = re;
8531 _errHandler.reportError(this, re);
8532 _errHandler.recover(this, re);
8533 }
8534 finally {
8535 exitRule();
8536 }
8537 return _localctx;
8538 }
8539
8540 public static class PrivateExprOfDbContext extends ParserRuleContext {
8541 public WindowedFunctionContext windowedFunction() {
8542 return getRuleContext(WindowedFunctionContext.class,0);
8543 }
8544 public AtTimeZoneExprContext atTimeZoneExpr() {
8545 return getRuleContext(AtTimeZoneExprContext.class,0);
8546 }
8547 public CastExprContext castExpr() {
8548 return getRuleContext(CastExprContext.class,0);
8549 }
8550 public ConvertExprContext convertExpr() {
8551 return getRuleContext(ConvertExprContext.class,0);
8552 }
8553 public PrivateExprOfDbContext(ParserRuleContext parent, int invokingState) {
8554 super(parent, invokingState);
8555 }
8556 @Override public int getRuleIndex() { return RULE_privateExprOfDb; }
8557 @Override
8558 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8559 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrivateExprOfDb(this);
8560 else return visitor.visitChildren(this);
8561 }
8562 }
8563
8564 public final PrivateExprOfDbContext privateExprOfDb() throws RecognitionException {
8565 PrivateExprOfDbContext _localctx = new PrivateExprOfDbContext(_ctx, getState());
8566 enterRule(_localctx, 142, RULE_privateExprOfDb);
8567 try {
8568 setState(1615);
8569 _errHandler.sync(this);
8570 switch ( getInterpreter().adaptivePredict(_input,76,_ctx) ) {
8571 case 1:
8572 enterOuterAlt(_localctx, 1);
8573 {
8574 setState(1611);
8575 windowedFunction();
8576 }
8577 break;
8578 case 2:
8579 enterOuterAlt(_localctx, 2);
8580 {
8581 setState(1612);
8582 atTimeZoneExpr();
8583 }
8584 break;
8585 case 3:
8586 enterOuterAlt(_localctx, 3);
8587 {
8588 setState(1613);
8589 castExpr();
8590 }
8591 break;
8592 case 4:
8593 enterOuterAlt(_localctx, 4);
8594 {
8595 setState(1614);
8596 convertExpr();
8597 }
8598 break;
8599 }
8600 }
8601 catch (RecognitionException re) {
8602 _localctx.exception = re;
8603 _errHandler.reportError(this, re);
8604 _errHandler.recover(this, re);
8605 }
8606 finally {
8607 exitRule();
8608 }
8609 return _localctx;
8610 }
8611
8612 public static class OrderByClauseContext extends ParserRuleContext {
8613 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
8614 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
8615 public List<OrderByItemContext> orderByItem() {
8616 return getRuleContexts(OrderByItemContext.class);
8617 }
8618 public OrderByItemContext orderByItem(int i) {
8619 return getRuleContext(OrderByItemContext.class,i);
8620 }
8621 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8622 public TerminalNode COMMA_(int i) {
8623 return getToken(SQLServerStatementParser.COMMA_, i);
8624 }
8625 public TerminalNode OFFSET() { return getToken(SQLServerStatementParser.OFFSET, 0); }
8626 public List<ExprContext> expr() {
8627 return getRuleContexts(ExprContext.class);
8628 }
8629 public ExprContext expr(int i) {
8630 return getRuleContext(ExprContext.class,i);
8631 }
8632 public List<TerminalNode> ROW() { return getTokens(SQLServerStatementParser.ROW); }
8633 public TerminalNode ROW(int i) {
8634 return getToken(SQLServerStatementParser.ROW, i);
8635 }
8636 public List<TerminalNode> ROWS() { return getTokens(SQLServerStatementParser.ROWS); }
8637 public TerminalNode ROWS(int i) {
8638 return getToken(SQLServerStatementParser.ROWS, i);
8639 }
8640 public TerminalNode FETCH() { return getToken(SQLServerStatementParser.FETCH, 0); }
8641 public TerminalNode ONLY() { return getToken(SQLServerStatementParser.ONLY, 0); }
8642 public TerminalNode FIRST() { return getToken(SQLServerStatementParser.FIRST, 0); }
8643 public TerminalNode NEXT() { return getToken(SQLServerStatementParser.NEXT, 0); }
8644 public OrderByClauseContext(ParserRuleContext parent, int invokingState) {
8645 super(parent, invokingState);
8646 }
8647 @Override public int getRuleIndex() { return RULE_orderByClause; }
8648 @Override
8649 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8650 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrderByClause(this);
8651 else return visitor.visitChildren(this);
8652 }
8653 }
8654
8655 public final OrderByClauseContext orderByClause() throws RecognitionException {
8656 OrderByClauseContext _localctx = new OrderByClauseContext(_ctx, getState());
8657 enterRule(_localctx, 144, RULE_orderByClause);
8658 int _la;
8659 try {
8660 enterOuterAlt(_localctx, 1);
8661 {
8662 setState(1617);
8663 match(ORDER);
8664 setState(1618);
8665 match(BY);
8666 setState(1619);
8667 orderByItem();
8668 setState(1624);
8669 _errHandler.sync(this);
8670 _la = _input.LA(1);
8671 while (_la==COMMA_) {
8672 {
8673 {
8674 setState(1620);
8675 match(COMMA_);
8676 setState(1621);
8677 orderByItem();
8678 }
8679 }
8680 setState(1626);
8681 _errHandler.sync(this);
8682 _la = _input.LA(1);
8683 }
8684 setState(1638);
8685 _errHandler.sync(this);
8686 _la = _input.LA(1);
8687 if (_la==OFFSET) {
8688 {
8689 setState(1627);
8690 match(OFFSET);
8691 setState(1628);
8692 expr(0);
8693 setState(1629);
8694 _la = _input.LA(1);
8695 if ( !(_la==ROW || _la==ROWS) ) {
8696 _errHandler.recoverInline(this);
8697 }
8698 else {
8699 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8700 _errHandler.reportMatch(this);
8701 consume();
8702 }
8703 setState(1636);
8704 _errHandler.sync(this);
8705 _la = _input.LA(1);
8706 if (_la==FETCH) {
8707 {
8708 setState(1630);
8709 match(FETCH);
8710 setState(1631);
8711 _la = _input.LA(1);
8712 if ( !(_la==NEXT || _la==FIRST) ) {
8713 _errHandler.recoverInline(this);
8714 }
8715 else {
8716 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8717 _errHandler.reportMatch(this);
8718 consume();
8719 }
8720 setState(1632);
8721 expr(0);
8722 setState(1633);
8723 _la = _input.LA(1);
8724 if ( !(_la==ROW || _la==ROWS) ) {
8725 _errHandler.recoverInline(this);
8726 }
8727 else {
8728 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8729 _errHandler.reportMatch(this);
8730 consume();
8731 }
8732 setState(1634);
8733 match(ONLY);
8734 }
8735 }
8736
8737 }
8738 }
8739
8740 }
8741 }
8742 catch (RecognitionException re) {
8743 _localctx.exception = re;
8744 _errHandler.reportError(this, re);
8745 _errHandler.recover(this, re);
8746 }
8747 finally {
8748 exitRule();
8749 }
8750 return _localctx;
8751 }
8752
8753 public static class OrderByItemContext extends ParserRuleContext {
8754 public ColumnNameContext columnName() {
8755 return getRuleContext(ColumnNameContext.class,0);
8756 }
8757 public NumberLiteralsContext numberLiterals() {
8758 return getRuleContext(NumberLiteralsContext.class,0);
8759 }
8760 public ExprContext expr() {
8761 return getRuleContext(ExprContext.class,0);
8762 }
8763 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
8764 public IdentifierContext identifier() {
8765 return getRuleContext(IdentifierContext.class,0);
8766 }
8767 public TerminalNode ASC() { return getToken(SQLServerStatementParser.ASC, 0); }
8768 public TerminalNode DESC() { return getToken(SQLServerStatementParser.DESC, 0); }
8769 public OrderByItemContext(ParserRuleContext parent, int invokingState) {
8770 super(parent, invokingState);
8771 }
8772 @Override public int getRuleIndex() { return RULE_orderByItem; }
8773 @Override
8774 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8775 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrderByItem(this);
8776 else return visitor.visitChildren(this);
8777 }
8778 }
8779
8780 public final OrderByItemContext orderByItem() throws RecognitionException {
8781 OrderByItemContext _localctx = new OrderByItemContext(_ctx, getState());
8782 enterRule(_localctx, 146, RULE_orderByItem);
8783 int _la;
8784 try {
8785 enterOuterAlt(_localctx, 1);
8786 {
8787 setState(1643);
8788 _errHandler.sync(this);
8789 switch ( getInterpreter().adaptivePredict(_input,80,_ctx) ) {
8790 case 1:
8791 {
8792 setState(1640);
8793 columnName();
8794 }
8795 break;
8796 case 2:
8797 {
8798 setState(1641);
8799 numberLiterals();
8800 }
8801 break;
8802 case 3:
8803 {
8804 setState(1642);
8805 expr(0);
8806 }
8807 break;
8808 }
8809 setState(1647);
8810 _errHandler.sync(this);
8811 _la = _input.LA(1);
8812 if (_la==COLLATE) {
8813 {
8814 setState(1645);
8815 match(COLLATE);
8816 setState(1646);
8817 identifier();
8818 }
8819 }
8820
8821 setState(1650);
8822 _errHandler.sync(this);
8823 _la = _input.LA(1);
8824 if (_la==ASC || _la==DESC) {
8825 {
8826 setState(1649);
8827 _la = _input.LA(1);
8828 if ( !(_la==ASC || _la==DESC) ) {
8829 _errHandler.recoverInline(this);
8830 }
8831 else {
8832 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8833 _errHandler.reportMatch(this);
8834 consume();
8835 }
8836 }
8837 }
8838
8839 }
8840 }
8841 catch (RecognitionException re) {
8842 _localctx.exception = re;
8843 _errHandler.reportError(this, re);
8844 _errHandler.recover(this, re);
8845 }
8846 finally {
8847 exitRule();
8848 }
8849 return _localctx;
8850 }
8851
8852 public static class DataTypeContext extends ParserRuleContext {
8853 public DataTypeNameContext dataTypeName() {
8854 return getRuleContext(DataTypeNameContext.class,0);
8855 }
8856 public List<IgnoredIdentifierContext> ignoredIdentifier() {
8857 return getRuleContexts(IgnoredIdentifierContext.class);
8858 }
8859 public IgnoredIdentifierContext ignoredIdentifier(int i) {
8860 return getRuleContext(IgnoredIdentifierContext.class,i);
8861 }
8862 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
8863 public DataTypeLengthContext dataTypeLength() {
8864 return getRuleContext(DataTypeLengthContext.class,0);
8865 }
8866 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8867 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
8868 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8869 public TerminalNode CONTENT() { return getToken(SQLServerStatementParser.CONTENT, 0); }
8870 public TerminalNode DOCUMENT() { return getToken(SQLServerStatementParser.DOCUMENT, 0); }
8871 public DataTypeContext(ParserRuleContext parent, int invokingState) {
8872 super(parent, invokingState);
8873 }
8874 @Override public int getRuleIndex() { return RULE_dataType; }
8875 @Override
8876 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8877 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataType(this);
8878 else return visitor.visitChildren(this);
8879 }
8880 }
8881
8882 public final DataTypeContext dataType() throws RecognitionException {
8883 DataTypeContext _localctx = new DataTypeContext(_ctx, getState());
8884 enterRule(_localctx, 148, RULE_dataType);
8885 int _la;
8886 try {
8887 enterOuterAlt(_localctx, 1);
8888 {
8889 setState(1655);
8890 _errHandler.sync(this);
8891 switch ( getInterpreter().adaptivePredict(_input,83,_ctx) ) {
8892 case 1:
8893 {
8894 setState(1652);
8895 ignoredIdentifier();
8896 setState(1653);
8897 match(DOT_);
8898 }
8899 break;
8900 }
8901 setState(1657);
8902 dataTypeName();
8903 setState(1669);
8904 _errHandler.sync(this);
8905 switch ( getInterpreter().adaptivePredict(_input,85,_ctx) ) {
8906 case 1:
8907 {
8908 setState(1658);
8909 dataTypeLength();
8910 }
8911 break;
8912 case 2:
8913 {
8914 setState(1659);
8915 match(LP_);
8916 setState(1660);
8917 match(MAX);
8918 setState(1661);
8919 match(RP_);
8920 }
8921 break;
8922 case 3:
8923 {
8924 setState(1662);
8925 match(LP_);
8926 setState(1664);
8927 _errHandler.sync(this);
8928 _la = _input.LA(1);
8929 if (_la==CONTENT || _la==DOCUMENT) {
8930 {
8931 setState(1663);
8932 _la = _input.LA(1);
8933 if ( !(_la==CONTENT || _la==DOCUMENT) ) {
8934 _errHandler.recoverInline(this);
8935 }
8936 else {
8937 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8938 _errHandler.reportMatch(this);
8939 consume();
8940 }
8941 }
8942 }
8943
8944 setState(1666);
8945 ignoredIdentifier();
8946 setState(1667);
8947 match(RP_);
8948 }
8949 break;
8950 }
8951 }
8952 }
8953 catch (RecognitionException re) {
8954 _localctx.exception = re;
8955 _errHandler.reportError(this, re);
8956 _errHandler.recover(this, re);
8957 }
8958 finally {
8959 exitRule();
8960 }
8961 return _localctx;
8962 }
8963
8964 public static class DataTypeNameContext extends ParserRuleContext {
8965 public TerminalNode BIGINT() { return getToken(SQLServerStatementParser.BIGINT, 0); }
8966 public TerminalNode NUMERIC() { return getToken(SQLServerStatementParser.NUMERIC, 0); }
8967 public TerminalNode BIT() { return getToken(SQLServerStatementParser.BIT, 0); }
8968 public TerminalNode SMALLINT() { return getToken(SQLServerStatementParser.SMALLINT, 0); }
8969 public TerminalNode DECIMAL() { return getToken(SQLServerStatementParser.DECIMAL, 0); }
8970 public TerminalNode SMALLMONEY() { return getToken(SQLServerStatementParser.SMALLMONEY, 0); }
8971 public TerminalNode INT() { return getToken(SQLServerStatementParser.INT, 0); }
8972 public TerminalNode TINYINT() { return getToken(SQLServerStatementParser.TINYINT, 0); }
8973 public TerminalNode MONEY() { return getToken(SQLServerStatementParser.MONEY, 0); }
8974 public TerminalNode FLOAT() { return getToken(SQLServerStatementParser.FLOAT, 0); }
8975 public TerminalNode REAL() { return getToken(SQLServerStatementParser.REAL, 0); }
8976 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
8977 public TerminalNode DATETIMEOFFSET() { return getToken(SQLServerStatementParser.DATETIMEOFFSET, 0); }
8978 public TerminalNode SMALLDATETIME() { return getToken(SQLServerStatementParser.SMALLDATETIME, 0); }
8979 public TerminalNode DATETIME() { return getToken(SQLServerStatementParser.DATETIME, 0); }
8980 public TerminalNode DATETIME2() { return getToken(SQLServerStatementParser.DATETIME2, 0); }
8981 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
8982 public TerminalNode CHAR() { return getToken(SQLServerStatementParser.CHAR, 0); }
8983 public TerminalNode VARCHAR() { return getToken(SQLServerStatementParser.VARCHAR, 0); }
8984 public TerminalNode TEXT() { return getToken(SQLServerStatementParser.TEXT, 0); }
8985 public TerminalNode NCHAR() { return getToken(SQLServerStatementParser.NCHAR, 0); }
8986 public TerminalNode NVARCHAR() { return getToken(SQLServerStatementParser.NVARCHAR, 0); }
8987 public TerminalNode NTEXT() { return getToken(SQLServerStatementParser.NTEXT, 0); }
8988 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
8989 public TerminalNode VARBINARY() { return getToken(SQLServerStatementParser.VARBINARY, 0); }
8990 public TerminalNode IMAGE() { return getToken(SQLServerStatementParser.IMAGE, 0); }
8991 public TerminalNode SQL_VARIANT() { return getToken(SQLServerStatementParser.SQL_VARIANT, 0); }
8992 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
8993 public TerminalNode UNIQUEIDENTIFIER() { return getToken(SQLServerStatementParser.UNIQUEIDENTIFIER, 0); }
8994 public TerminalNode HIERARCHYID() { return getToken(SQLServerStatementParser.HIERARCHYID, 0); }
8995 public TerminalNode GEOMETRY() { return getToken(SQLServerStatementParser.GEOMETRY, 0); }
8996 public TerminalNode GEOGRAPHY() { return getToken(SQLServerStatementParser.GEOGRAPHY, 0); }
8997 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
8998 public TerminalNode INTEGER() { return getToken(SQLServerStatementParser.INTEGER, 0); }
8999 public DataTypeNameContext(ParserRuleContext parent, int invokingState) {
9000 super(parent, invokingState);
9001 }
9002 @Override public int getRuleIndex() { return RULE_dataTypeName; }
9003 @Override
9004 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9005 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataTypeName(this);
9006 else return visitor.visitChildren(this);
9007 }
9008 }
9009
9010 public final DataTypeNameContext dataTypeName() throws RecognitionException {
9011 DataTypeNameContext _localctx = new DataTypeNameContext(_ctx, getState());
9012 enterRule(_localctx, 150, RULE_dataTypeName);
9013 int _la;
9014 try {
9015 enterOuterAlt(_localctx, 1);
9016 {
9017 setState(1671);
9018 _la = _input.LA(1);
9019 if ( !(((((_la - 131)) & ~0x3f) == 0 && ((1L << (_la - 131)) & ((1L << (CHAR - 131)) | (1L << (DATE - 131)) | (1L << (TIME - 131)) | (1L << (INTEGER - 131)) | (1L << (REAL - 131)) | (1L << (DECIMAL - 131)) | (1L << (BIT - 131)) | (1L << (SMALLINT - 131)) | (1L << (INT - 131)) | (1L << (TINYINT - 131)) | (1L << (NUMERIC - 131)) | (1L << (FLOAT - 131)) | (1L << (BIGINT - 131)) | (1L << (TEXT - 131)) | (1L << (VARCHAR - 131)))) != 0) || _la==BINARY || _la==XML || ((((_la - 425)) & ~0x3f) == 0 && ((1L << (_la - 425)) & ((1L << (MONEY - 425)) | (1L << (SMALLMONEY - 425)) | (1L << (DATETIMEOFFSET - 425)) | (1L << (DATETIME - 425)) | (1L << (DATETIME2 - 425)) | (1L << (SMALLDATETIME - 425)) | (1L << (NCHAR - 425)) | (1L << (NVARCHAR - 425)) | (1L << (NTEXT - 425)) | (1L << (VARBINARY - 425)) | (1L << (IMAGE - 425)) | (1L << (SQL_VARIANT - 425)) | (1L << (UNIQUEIDENTIFIER - 425)) | (1L << (HIERARCHYID - 425)) | (1L << (GEOMETRY - 425)) | (1L << (GEOGRAPHY - 425)))) != 0) || _la==IDENTIFIER_) ) {
9020 _errHandler.recoverInline(this);
9021 }
9022 else {
9023 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9024 _errHandler.reportMatch(this);
9025 consume();
9026 }
9027 }
9028 }
9029 catch (RecognitionException re) {
9030 _localctx.exception = re;
9031 _errHandler.reportError(this, re);
9032 _errHandler.recover(this, re);
9033 }
9034 finally {
9035 exitRule();
9036 }
9037 return _localctx;
9038 }
9039
9040 public static class AtTimeZoneExprContext extends ParserRuleContext {
9041 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
9042 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
9043 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
9044 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
9045 public TerminalNode ZONE() { return getToken(SQLServerStatementParser.ZONE, 0); }
9046 public AtTimeZoneExprContext(ParserRuleContext parent, int invokingState) {
9047 super(parent, invokingState);
9048 }
9049 @Override public int getRuleIndex() { return RULE_atTimeZoneExpr; }
9050 @Override
9051 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9052 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAtTimeZoneExpr(this);
9053 else return visitor.visitChildren(this);
9054 }
9055 }
9056
9057 public final AtTimeZoneExprContext atTimeZoneExpr() throws RecognitionException {
9058 AtTimeZoneExprContext _localctx = new AtTimeZoneExprContext(_ctx, getState());
9059 enterRule(_localctx, 152, RULE_atTimeZoneExpr);
9060 int _la;
9061 try {
9062 enterOuterAlt(_localctx, 1);
9063 {
9064 setState(1673);
9065 match(IDENTIFIER_);
9066 setState(1677);
9067 _errHandler.sync(this);
9068 _la = _input.LA(1);
9069 if (_la==WITH) {
9070 {
9071 setState(1674);
9072 match(WITH);
9073 setState(1675);
9074 match(TIME);
9075 setState(1676);
9076 match(ZONE);
9077 }
9078 }
9079
9080 setState(1679);
9081 match(STRING_);
9082 }
9083 }
9084 catch (RecognitionException re) {
9085 _localctx.exception = re;
9086 _errHandler.reportError(this, re);
9087 _errHandler.recover(this, re);
9088 }
9089 finally {
9090 exitRule();
9091 }
9092 return _localctx;
9093 }
9094
9095 public static class CastExprContext extends ParserRuleContext {
9096 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
9097 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
9098 public TerminalNode LP_(int i) {
9099 return getToken(SQLServerStatementParser.LP_, i);
9100 }
9101 public ExprContext expr() {
9102 return getRuleContext(ExprContext.class,0);
9103 }
9104 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
9105 public DataTypeContext dataType() {
9106 return getRuleContext(DataTypeContext.class,0);
9107 }
9108 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
9109 public TerminalNode RP_(int i) {
9110 return getToken(SQLServerStatementParser.RP_, i);
9111 }
9112 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
9113 public CastExprContext(ParserRuleContext parent, int invokingState) {
9114 super(parent, invokingState);
9115 }
9116 @Override public int getRuleIndex() { return RULE_castExpr; }
9117 @Override
9118 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9119 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCastExpr(this);
9120 else return visitor.visitChildren(this);
9121 }
9122 }
9123
9124 public final CastExprContext castExpr() throws RecognitionException {
9125 CastExprContext _localctx = new CastExprContext(_ctx, getState());
9126 enterRule(_localctx, 154, RULE_castExpr);
9127 int _la;
9128 try {
9129 enterOuterAlt(_localctx, 1);
9130 {
9131 setState(1681);
9132 match(CAST);
9133 setState(1682);
9134 match(LP_);
9135 setState(1683);
9136 expr(0);
9137 setState(1684);
9138 match(AS);
9139 setState(1685);
9140 dataType();
9141 setState(1689);
9142 _errHandler.sync(this);
9143 _la = _input.LA(1);
9144 if (_la==LP_) {
9145 {
9146 setState(1686);
9147 match(LP_);
9148 setState(1687);
9149 match(NUMBER_);
9150 setState(1688);
9151 match(RP_);
9152 }
9153 }
9154
9155 setState(1691);
9156 match(RP_);
9157 }
9158 }
9159 catch (RecognitionException re) {
9160 _localctx.exception = re;
9161 _errHandler.reportError(this, re);
9162 _errHandler.recover(this, re);
9163 }
9164 finally {
9165 exitRule();
9166 }
9167 return _localctx;
9168 }
9169
9170 public static class ConvertExprContext extends ParserRuleContext {
9171 public TerminalNode CONVERT() { return getToken(SQLServerStatementParser.CONVERT, 0); }
9172 public DataTypeContext dataType() {
9173 return getRuleContext(DataTypeContext.class,0);
9174 }
9175 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
9176 public TerminalNode COMMA_(int i) {
9177 return getToken(SQLServerStatementParser.COMMA_, i);
9178 }
9179 public ExprContext expr() {
9180 return getRuleContext(ExprContext.class,0);
9181 }
9182 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
9183 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
9184 public TerminalNode NUMBER_(int i) {
9185 return getToken(SQLServerStatementParser.NUMBER_, i);
9186 }
9187 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
9188 public ConvertExprContext(ParserRuleContext parent, int invokingState) {
9189 super(parent, invokingState);
9190 }
9191 @Override public int getRuleIndex() { return RULE_convertExpr; }
9192 @Override
9193 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9194 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConvertExpr(this);
9195 else return visitor.visitChildren(this);
9196 }
9197 }
9198
9199 public final ConvertExprContext convertExpr() throws RecognitionException {
9200 ConvertExprContext _localctx = new ConvertExprContext(_ctx, getState());
9201 enterRule(_localctx, 156, RULE_convertExpr);
9202 int _la;
9203 try {
9204 enterOuterAlt(_localctx, 1);
9205 {
9206 setState(1693);
9207 match(CONVERT);
9208 {
9209 setState(1694);
9210 dataType();
9211 setState(1698);
9212 _errHandler.sync(this);
9213 _la = _input.LA(1);
9214 if (_la==LP_) {
9215 {
9216 setState(1695);
9217 match(LP_);
9218 setState(1696);
9219 match(NUMBER_);
9220 setState(1697);
9221 match(RP_);
9222 }
9223 }
9224
9225 setState(1700);
9226 match(COMMA_);
9227 setState(1701);
9228 expr(0);
9229 setState(1704);
9230 _errHandler.sync(this);
9231 switch ( getInterpreter().adaptivePredict(_input,89,_ctx) ) {
9232 case 1:
9233 {
9234 setState(1702);
9235 match(COMMA_);
9236 setState(1703);
9237 match(NUMBER_);
9238 }
9239 break;
9240 }
9241 }
9242 }
9243 }
9244 catch (RecognitionException re) {
9245 _localctx.exception = re;
9246 _errHandler.reportError(this, re);
9247 _errHandler.recover(this, re);
9248 }
9249 finally {
9250 exitRule();
9251 }
9252 return _localctx;
9253 }
9254
9255 public static class WindowedFunctionContext extends ParserRuleContext {
9256 public FunctionCallContext functionCall() {
9257 return getRuleContext(FunctionCallContext.class,0);
9258 }
9259 public OverClauseContext overClause() {
9260 return getRuleContext(OverClauseContext.class,0);
9261 }
9262 public WindowedFunctionContext(ParserRuleContext parent, int invokingState) {
9263 super(parent, invokingState);
9264 }
9265 @Override public int getRuleIndex() { return RULE_windowedFunction; }
9266 @Override
9267 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9268 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowedFunction(this);
9269 else return visitor.visitChildren(this);
9270 }
9271 }
9272
9273 public final WindowedFunctionContext windowedFunction() throws RecognitionException {
9274 WindowedFunctionContext _localctx = new WindowedFunctionContext(_ctx, getState());
9275 enterRule(_localctx, 158, RULE_windowedFunction);
9276 try {
9277 enterOuterAlt(_localctx, 1);
9278 {
9279 setState(1706);
9280 functionCall();
9281 setState(1707);
9282 overClause();
9283 }
9284 }
9285 catch (RecognitionException re) {
9286 _localctx.exception = re;
9287 _errHandler.reportError(this, re);
9288 _errHandler.recover(this, re);
9289 }
9290 finally {
9291 exitRule();
9292 }
9293 return _localctx;
9294 }
9295
9296 public static class OverClauseContext extends ParserRuleContext {
9297 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
9298 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
9299 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
9300 public PartitionByClauseContext partitionByClause() {
9301 return getRuleContext(PartitionByClauseContext.class,0);
9302 }
9303 public OrderByClauseContext orderByClause() {
9304 return getRuleContext(OrderByClauseContext.class,0);
9305 }
9306 public RowRangeClauseContext rowRangeClause() {
9307 return getRuleContext(RowRangeClauseContext.class,0);
9308 }
9309 public OverClauseContext(ParserRuleContext parent, int invokingState) {
9310 super(parent, invokingState);
9311 }
9312 @Override public int getRuleIndex() { return RULE_overClause; }
9313 @Override
9314 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9315 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOverClause(this);
9316 else return visitor.visitChildren(this);
9317 }
9318 }
9319
9320 public final OverClauseContext overClause() throws RecognitionException {
9321 OverClauseContext _localctx = new OverClauseContext(_ctx, getState());
9322 enterRule(_localctx, 160, RULE_overClause);
9323 int _la;
9324 try {
9325 enterOuterAlt(_localctx, 1);
9326 {
9327 setState(1709);
9328 match(OVER);
9329 setState(1710);
9330 match(LP_);
9331 setState(1712);
9332 _errHandler.sync(this);
9333 _la = _input.LA(1);
9334 if (_la==PARTITION) {
9335 {
9336 setState(1711);
9337 partitionByClause();
9338 }
9339 }
9340
9341 setState(1715);
9342 _errHandler.sync(this);
9343 _la = _input.LA(1);
9344 if (_la==ORDER) {
9345 {
9346 setState(1714);
9347 orderByClause();
9348 }
9349 }
9350
9351 setState(1718);
9352 _errHandler.sync(this);
9353 _la = _input.LA(1);
9354 if (_la==ROWS || _la==RANGE) {
9355 {
9356 setState(1717);
9357 rowRangeClause();
9358 }
9359 }
9360
9361 setState(1720);
9362 match(RP_);
9363 }
9364 }
9365 catch (RecognitionException re) {
9366 _localctx.exception = re;
9367 _errHandler.reportError(this, re);
9368 _errHandler.recover(this, re);
9369 }
9370 finally {
9371 exitRule();
9372 }
9373 return _localctx;
9374 }
9375
9376 public static class PartitionByClauseContext extends ParserRuleContext {
9377 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
9378 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
9379 public List<ExprContext> expr() {
9380 return getRuleContexts(ExprContext.class);
9381 }
9382 public ExprContext expr(int i) {
9383 return getRuleContext(ExprContext.class,i);
9384 }
9385 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
9386 public TerminalNode COMMA_(int i) {
9387 return getToken(SQLServerStatementParser.COMMA_, i);
9388 }
9389 public PartitionByClauseContext(ParserRuleContext parent, int invokingState) {
9390 super(parent, invokingState);
9391 }
9392 @Override public int getRuleIndex() { return RULE_partitionByClause; }
9393 @Override
9394 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9395 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionByClause(this);
9396 else return visitor.visitChildren(this);
9397 }
9398 }
9399
9400 public final PartitionByClauseContext partitionByClause() throws RecognitionException {
9401 PartitionByClauseContext _localctx = new PartitionByClauseContext(_ctx, getState());
9402 enterRule(_localctx, 162, RULE_partitionByClause);
9403 int _la;
9404 try {
9405 enterOuterAlt(_localctx, 1);
9406 {
9407 setState(1722);
9408 match(PARTITION);
9409 setState(1723);
9410 match(BY);
9411 setState(1724);
9412 expr(0);
9413 setState(1729);
9414 _errHandler.sync(this);
9415 _la = _input.LA(1);
9416 while (_la==COMMA_) {
9417 {
9418 {
9419 setState(1725);
9420 match(COMMA_);
9421 setState(1726);
9422 expr(0);
9423 }
9424 }
9425 setState(1731);
9426 _errHandler.sync(this);
9427 _la = _input.LA(1);
9428 }
9429 }
9430 }
9431 catch (RecognitionException re) {
9432 _localctx.exception = re;
9433 _errHandler.reportError(this, re);
9434 _errHandler.recover(this, re);
9435 }
9436 finally {
9437 exitRule();
9438 }
9439 return _localctx;
9440 }
9441
9442 public static class RowRangeClauseContext extends ParserRuleContext {
9443 public WindowFrameExtentContext windowFrameExtent() {
9444 return getRuleContext(WindowFrameExtentContext.class,0);
9445 }
9446 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
9447 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
9448 public RowRangeClauseContext(ParserRuleContext parent, int invokingState) {
9449 super(parent, invokingState);
9450 }
9451 @Override public int getRuleIndex() { return RULE_rowRangeClause; }
9452 @Override
9453 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9454 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRowRangeClause(this);
9455 else return visitor.visitChildren(this);
9456 }
9457 }
9458
9459 public final RowRangeClauseContext rowRangeClause() throws RecognitionException {
9460 RowRangeClauseContext _localctx = new RowRangeClauseContext(_ctx, getState());
9461 enterRule(_localctx, 164, RULE_rowRangeClause);
9462 int _la;
9463 try {
9464 enterOuterAlt(_localctx, 1);
9465 {
9466 setState(1732);
9467 _la = _input.LA(1);
9468 if ( !(_la==ROWS || _la==RANGE) ) {
9469 _errHandler.recoverInline(this);
9470 }
9471 else {
9472 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9473 _errHandler.reportMatch(this);
9474 consume();
9475 }
9476 setState(1733);
9477 windowFrameExtent();
9478 }
9479 }
9480 catch (RecognitionException re) {
9481 _localctx.exception = re;
9482 _errHandler.reportError(this, re);
9483 _errHandler.recover(this, re);
9484 }
9485 finally {
9486 exitRule();
9487 }
9488 return _localctx;
9489 }
9490
9491 public static class WindowFrameExtentContext extends ParserRuleContext {
9492 public WindowFramePrecedingContext windowFramePreceding() {
9493 return getRuleContext(WindowFramePrecedingContext.class,0);
9494 }
9495 public WindowFrameBetweenContext windowFrameBetween() {
9496 return getRuleContext(WindowFrameBetweenContext.class,0);
9497 }
9498 public WindowFrameExtentContext(ParserRuleContext parent, int invokingState) {
9499 super(parent, invokingState);
9500 }
9501 @Override public int getRuleIndex() { return RULE_windowFrameExtent; }
9502 @Override
9503 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9504 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameExtent(this);
9505 else return visitor.visitChildren(this);
9506 }
9507 }
9508
9509 public final WindowFrameExtentContext windowFrameExtent() throws RecognitionException {
9510 WindowFrameExtentContext _localctx = new WindowFrameExtentContext(_ctx, getState());
9511 enterRule(_localctx, 166, RULE_windowFrameExtent);
9512 try {
9513 setState(1737);
9514 _errHandler.sync(this);
9515 switch (_input.LA(1)) {
9516 case CURRENT:
9517 case UNBOUNDED:
9518 case NUMBER_:
9519 enterOuterAlt(_localctx, 1);
9520 {
9521 setState(1735);
9522 windowFramePreceding();
9523 }
9524 break;
9525 case BETWEEN:
9526 enterOuterAlt(_localctx, 2);
9527 {
9528 setState(1736);
9529 windowFrameBetween();
9530 }
9531 break;
9532 default:
9533 throw new NoViableAltException(this);
9534 }
9535 }
9536 catch (RecognitionException re) {
9537 _localctx.exception = re;
9538 _errHandler.reportError(this, re);
9539 _errHandler.recover(this, re);
9540 }
9541 finally {
9542 exitRule();
9543 }
9544 return _localctx;
9545 }
9546
9547 public static class WindowFrameBetweenContext extends ParserRuleContext {
9548 public TerminalNode BETWEEN() { return getToken(SQLServerStatementParser.BETWEEN, 0); }
9549 public List<WindowFrameBoundContext> windowFrameBound() {
9550 return getRuleContexts(WindowFrameBoundContext.class);
9551 }
9552 public WindowFrameBoundContext windowFrameBound(int i) {
9553 return getRuleContext(WindowFrameBoundContext.class,i);
9554 }
9555 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
9556 public WindowFrameBetweenContext(ParserRuleContext parent, int invokingState) {
9557 super(parent, invokingState);
9558 }
9559 @Override public int getRuleIndex() { return RULE_windowFrameBetween; }
9560 @Override
9561 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9562 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameBetween(this);
9563 else return visitor.visitChildren(this);
9564 }
9565 }
9566
9567 public final WindowFrameBetweenContext windowFrameBetween() throws RecognitionException {
9568 WindowFrameBetweenContext _localctx = new WindowFrameBetweenContext(_ctx, getState());
9569 enterRule(_localctx, 168, RULE_windowFrameBetween);
9570 try {
9571 enterOuterAlt(_localctx, 1);
9572 {
9573 setState(1739);
9574 match(BETWEEN);
9575 setState(1740);
9576 windowFrameBound();
9577 setState(1741);
9578 match(AND);
9579 setState(1742);
9580 windowFrameBound();
9581 }
9582 }
9583 catch (RecognitionException re) {
9584 _localctx.exception = re;
9585 _errHandler.reportError(this, re);
9586 _errHandler.recover(this, re);
9587 }
9588 finally {
9589 exitRule();
9590 }
9591 return _localctx;
9592 }
9593
9594 public static class WindowFrameBoundContext extends ParserRuleContext {
9595 public WindowFramePrecedingContext windowFramePreceding() {
9596 return getRuleContext(WindowFramePrecedingContext.class,0);
9597 }
9598 public WindowFrameFollowingContext windowFrameFollowing() {
9599 return getRuleContext(WindowFrameFollowingContext.class,0);
9600 }
9601 public WindowFrameBoundContext(ParserRuleContext parent, int invokingState) {
9602 super(parent, invokingState);
9603 }
9604 @Override public int getRuleIndex() { return RULE_windowFrameBound; }
9605 @Override
9606 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9607 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameBound(this);
9608 else return visitor.visitChildren(this);
9609 }
9610 }
9611
9612 public final WindowFrameBoundContext windowFrameBound() throws RecognitionException {
9613 WindowFrameBoundContext _localctx = new WindowFrameBoundContext(_ctx, getState());
9614 enterRule(_localctx, 170, RULE_windowFrameBound);
9615 try {
9616 setState(1746);
9617 _errHandler.sync(this);
9618 switch ( getInterpreter().adaptivePredict(_input,95,_ctx) ) {
9619 case 1:
9620 enterOuterAlt(_localctx, 1);
9621 {
9622 setState(1744);
9623 windowFramePreceding();
9624 }
9625 break;
9626 case 2:
9627 enterOuterAlt(_localctx, 2);
9628 {
9629 setState(1745);
9630 windowFrameFollowing();
9631 }
9632 break;
9633 }
9634 }
9635 catch (RecognitionException re) {
9636 _localctx.exception = re;
9637 _errHandler.reportError(this, re);
9638 _errHandler.recover(this, re);
9639 }
9640 finally {
9641 exitRule();
9642 }
9643 return _localctx;
9644 }
9645
9646 public static class WindowFramePrecedingContext extends ParserRuleContext {
9647 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
9648 public TerminalNode PRECEDING() { return getToken(SQLServerStatementParser.PRECEDING, 0); }
9649 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
9650 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
9651 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
9652 public WindowFramePrecedingContext(ParserRuleContext parent, int invokingState) {
9653 super(parent, invokingState);
9654 }
9655 @Override public int getRuleIndex() { return RULE_windowFramePreceding; }
9656 @Override
9657 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9658 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFramePreceding(this);
9659 else return visitor.visitChildren(this);
9660 }
9661 }
9662
9663 public final WindowFramePrecedingContext windowFramePreceding() throws RecognitionException {
9664 WindowFramePrecedingContext _localctx = new WindowFramePrecedingContext(_ctx, getState());
9665 enterRule(_localctx, 172, RULE_windowFramePreceding);
9666 try {
9667 setState(1754);
9668 _errHandler.sync(this);
9669 switch (_input.LA(1)) {
9670 case UNBOUNDED:
9671 enterOuterAlt(_localctx, 1);
9672 {
9673 setState(1748);
9674 match(UNBOUNDED);
9675 setState(1749);
9676 match(PRECEDING);
9677 }
9678 break;
9679 case NUMBER_:
9680 enterOuterAlt(_localctx, 2);
9681 {
9682 setState(1750);
9683 match(NUMBER_);
9684 setState(1751);
9685 match(PRECEDING);
9686 }
9687 break;
9688 case CURRENT:
9689 enterOuterAlt(_localctx, 3);
9690 {
9691 setState(1752);
9692 match(CURRENT);
9693 setState(1753);
9694 match(ROW);
9695 }
9696 break;
9697 default:
9698 throw new NoViableAltException(this);
9699 }
9700 }
9701 catch (RecognitionException re) {
9702 _localctx.exception = re;
9703 _errHandler.reportError(this, re);
9704 _errHandler.recover(this, re);
9705 }
9706 finally {
9707 exitRule();
9708 }
9709 return _localctx;
9710 }
9711
9712 public static class WindowFrameFollowingContext extends ParserRuleContext {
9713 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
9714 public TerminalNode FOLLOWING() { return getToken(SQLServerStatementParser.FOLLOWING, 0); }
9715 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
9716 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
9717 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
9718 public WindowFrameFollowingContext(ParserRuleContext parent, int invokingState) {
9719 super(parent, invokingState);
9720 }
9721 @Override public int getRuleIndex() { return RULE_windowFrameFollowing; }
9722 @Override
9723 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9724 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameFollowing(this);
9725 else return visitor.visitChildren(this);
9726 }
9727 }
9728
9729 public final WindowFrameFollowingContext windowFrameFollowing() throws RecognitionException {
9730 WindowFrameFollowingContext _localctx = new WindowFrameFollowingContext(_ctx, getState());
9731 enterRule(_localctx, 174, RULE_windowFrameFollowing);
9732 try {
9733 setState(1762);
9734 _errHandler.sync(this);
9735 switch (_input.LA(1)) {
9736 case UNBOUNDED:
9737 enterOuterAlt(_localctx, 1);
9738 {
9739 setState(1756);
9740 match(UNBOUNDED);
9741 setState(1757);
9742 match(FOLLOWING);
9743 }
9744 break;
9745 case NUMBER_:
9746 enterOuterAlt(_localctx, 2);
9747 {
9748 setState(1758);
9749 match(NUMBER_);
9750 setState(1759);
9751 match(FOLLOWING);
9752 }
9753 break;
9754 case CURRENT:
9755 enterOuterAlt(_localctx, 3);
9756 {
9757 setState(1760);
9758 match(CURRENT);
9759 setState(1761);
9760 match(ROW);
9761 }
9762 break;
9763 default:
9764 throw new NoViableAltException(this);
9765 }
9766 }
9767 catch (RecognitionException re) {
9768 _localctx.exception = re;
9769 _errHandler.reportError(this, re);
9770 _errHandler.recover(this, re);
9771 }
9772 finally {
9773 exitRule();
9774 }
9775 return _localctx;
9776 }
9777
9778 public static class ColumnNameWithSortContext extends ParserRuleContext {
9779 public ColumnNameContext columnName() {
9780 return getRuleContext(ColumnNameContext.class,0);
9781 }
9782 public TerminalNode ASC() { return getToken(SQLServerStatementParser.ASC, 0); }
9783 public TerminalNode DESC() { return getToken(SQLServerStatementParser.DESC, 0); }
9784 public ColumnNameWithSortContext(ParserRuleContext parent, int invokingState) {
9785 super(parent, invokingState);
9786 }
9787 @Override public int getRuleIndex() { return RULE_columnNameWithSort; }
9788 @Override
9789 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9790 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNameWithSort(this);
9791 else return visitor.visitChildren(this);
9792 }
9793 }
9794
9795 public final ColumnNameWithSortContext columnNameWithSort() throws RecognitionException {
9796 ColumnNameWithSortContext _localctx = new ColumnNameWithSortContext(_ctx, getState());
9797 enterRule(_localctx, 176, RULE_columnNameWithSort);
9798 int _la;
9799 try {
9800 enterOuterAlt(_localctx, 1);
9801 {
9802 setState(1764);
9803 columnName();
9804 setState(1766);
9805 _errHandler.sync(this);
9806 _la = _input.LA(1);
9807 if (_la==ASC || _la==DESC) {
9808 {
9809 setState(1765);
9810 _la = _input.LA(1);
9811 if ( !(_la==ASC || _la==DESC) ) {
9812 _errHandler.recoverInline(this);
9813 }
9814 else {
9815 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9816 _errHandler.reportMatch(this);
9817 consume();
9818 }
9819 }
9820 }
9821
9822 }
9823 }
9824 catch (RecognitionException re) {
9825 _localctx.exception = re;
9826 _errHandler.reportError(this, re);
9827 _errHandler.recover(this, re);
9828 }
9829 finally {
9830 exitRule();
9831 }
9832 return _localctx;
9833 }
9834
9835 public static class IndexOptionContext extends ParserRuleContext {
9836 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
9837 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
9838 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
9839 public EqOnOffOptionContext eqOnOffOption() {
9840 return getRuleContext(EqOnOffOptionContext.class,0);
9841 }
9842 public EqTimeContext eqTime() {
9843 return getRuleContext(EqTimeContext.class,0);
9844 }
9845 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
9846 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
9847 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
9848 public CompressionOptionContext compressionOption() {
9849 return getRuleContext(CompressionOptionContext.class,0);
9850 }
9851 public OnPartitionClauseContext onPartitionClause() {
9852 return getRuleContext(OnPartitionClauseContext.class,0);
9853 }
9854 public IndexOptionContext(ParserRuleContext parent, int invokingState) {
9855 super(parent, invokingState);
9856 }
9857 @Override public int getRuleIndex() { return RULE_indexOption; }
9858 @Override
9859 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9860 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOption(this);
9861 else return visitor.visitChildren(this);
9862 }
9863 }
9864
9865 public final IndexOptionContext indexOption() throws RecognitionException {
9866 IndexOptionContext _localctx = new IndexOptionContext(_ctx, getState());
9867 enterRule(_localctx, 178, RULE_indexOption);
9868 int _la;
9869 try {
9870 setState(1781);
9871 _errHandler.sync(this);
9872 switch ( getInterpreter().adaptivePredict(_input,100,_ctx) ) {
9873 case 1:
9874 enterOuterAlt(_localctx, 1);
9875 {
9876 setState(1768);
9877 match(FILLFACTOR);
9878 setState(1769);
9879 match(EQ_);
9880 setState(1770);
9881 match(NUMBER_);
9882 }
9883 break;
9884 case 2:
9885 enterOuterAlt(_localctx, 2);
9886 {
9887 setState(1771);
9888 eqOnOffOption();
9889 }
9890 break;
9891 case 3:
9892 enterOuterAlt(_localctx, 3);
9893 {
9894 setState(1772);
9895 _la = _input.LA(1);
9896 if ( !(_la==COMPRESSION_DELAY || _la==MAX_DURATION) ) {
9897 _errHandler.recoverInline(this);
9898 }
9899 else {
9900 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9901 _errHandler.reportMatch(this);
9902 consume();
9903 }
9904 setState(1773);
9905 eqTime();
9906 }
9907 break;
9908 case 4:
9909 enterOuterAlt(_localctx, 4);
9910 {
9911 setState(1774);
9912 match(MAXDOP);
9913 setState(1775);
9914 match(EQ_);
9915 setState(1776);
9916 match(NUMBER_);
9917 }
9918 break;
9919 case 5:
9920 enterOuterAlt(_localctx, 5);
9921 {
9922 setState(1777);
9923 compressionOption();
9924 setState(1779);
9925 _errHandler.sync(this);
9926 _la = _input.LA(1);
9927 if (_la==ON) {
9928 {
9929 setState(1778);
9930 onPartitionClause();
9931 }
9932 }
9933
9934 }
9935 break;
9936 }
9937 }
9938 catch (RecognitionException re) {
9939 _localctx.exception = re;
9940 _errHandler.reportError(this, re);
9941 _errHandler.recover(this, re);
9942 }
9943 finally {
9944 exitRule();
9945 }
9946 return _localctx;
9947 }
9948
9949 public static class CompressionOptionContext extends ParserRuleContext {
9950 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
9951 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
9952 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
9953 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
9954 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
9955 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
9956 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
9957 public CompressionOptionContext(ParserRuleContext parent, int invokingState) {
9958 super(parent, invokingState);
9959 }
9960 @Override public int getRuleIndex() { return RULE_compressionOption; }
9961 @Override
9962 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9963 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompressionOption(this);
9964 else return visitor.visitChildren(this);
9965 }
9966 }
9967
9968 public final CompressionOptionContext compressionOption() throws RecognitionException {
9969 CompressionOptionContext _localctx = new CompressionOptionContext(_ctx, getState());
9970 enterRule(_localctx, 180, RULE_compressionOption);
9971 int _la;
9972 try {
9973 enterOuterAlt(_localctx, 1);
9974 {
9975 setState(1783);
9976 match(DATA_COMPRESSION);
9977 setState(1784);
9978 match(EQ_);
9979 setState(1785);
9980 _la = _input.LA(1);
9981 if ( !(((((_la - 224)) & ~0x3f) == 0 && ((1L << (_la - 224)) & ((1L << (ROW - 224)) | (1L << (COLUMNSTORE - 224)) | (1L << (NONE - 224)) | (1L << (PAGE - 224)))) != 0) || _la==COLUMNSTORE_ARCHIVE) ) {
9982 _errHandler.recoverInline(this);
9983 }
9984 else {
9985 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9986 _errHandler.reportMatch(this);
9987 consume();
9988 }
9989 }
9990 }
9991 catch (RecognitionException re) {
9992 _localctx.exception = re;
9993 _errHandler.reportError(this, re);
9994 _errHandler.recover(this, re);
9995 }
9996 finally {
9997 exitRule();
9998 }
9999 return _localctx;
10000 }
10001
10002 public static class EqTimeContext extends ParserRuleContext {
10003 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
10004 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10005 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
10006 public EqTimeContext(ParserRuleContext parent, int invokingState) {
10007 super(parent, invokingState);
10008 }
10009 @Override public int getRuleIndex() { return RULE_eqTime; }
10010 @Override
10011 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10012 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqTime(this);
10013 else return visitor.visitChildren(this);
10014 }
10015 }
10016
10017 public final EqTimeContext eqTime() throws RecognitionException {
10018 EqTimeContext _localctx = new EqTimeContext(_ctx, getState());
10019 enterRule(_localctx, 182, RULE_eqTime);
10020 int _la;
10021 try {
10022 enterOuterAlt(_localctx, 1);
10023 {
10024 setState(1787);
10025 match(EQ_);
10026 setState(1788);
10027 match(NUMBER_);
10028 setState(1790);
10029 _errHandler.sync(this);
10030 _la = _input.LA(1);
10031 if (_la==MINUTES) {
10032 {
10033 setState(1789);
10034 match(MINUTES);
10035 }
10036 }
10037
10038 }
10039 }
10040 catch (RecognitionException re) {
10041 _localctx.exception = re;
10042 _errHandler.reportError(this, re);
10043 _errHandler.recover(this, re);
10044 }
10045 finally {
10046 exitRule();
10047 }
10048 return _localctx;
10049 }
10050
10051 public static class EqOnOffOptionContext extends ParserRuleContext {
10052 public EqKeyContext eqKey() {
10053 return getRuleContext(EqKeyContext.class,0);
10054 }
10055 public EqOnOffContext eqOnOff() {
10056 return getRuleContext(EqOnOffContext.class,0);
10057 }
10058 public EqOnOffOptionContext(ParserRuleContext parent, int invokingState) {
10059 super(parent, invokingState);
10060 }
10061 @Override public int getRuleIndex() { return RULE_eqOnOffOption; }
10062 @Override
10063 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10064 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqOnOffOption(this);
10065 else return visitor.visitChildren(this);
10066 }
10067 }
10068
10069 public final EqOnOffOptionContext eqOnOffOption() throws RecognitionException {
10070 EqOnOffOptionContext _localctx = new EqOnOffOptionContext(_ctx, getState());
10071 enterRule(_localctx, 184, RULE_eqOnOffOption);
10072 try {
10073 enterOuterAlt(_localctx, 1);
10074 {
10075 setState(1792);
10076 eqKey();
10077 setState(1793);
10078 eqOnOff();
10079 }
10080 }
10081 catch (RecognitionException re) {
10082 _localctx.exception = re;
10083 _errHandler.reportError(this, re);
10084 _errHandler.recover(this, re);
10085 }
10086 finally {
10087 exitRule();
10088 }
10089 return _localctx;
10090 }
10091
10092 public static class EqKeyContext extends ParserRuleContext {
10093 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
10094 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
10095 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
10096 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
10097 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
10098 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
10099 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
10100 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
10101 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
10102 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
10103 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
10104 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
10105 public EqKeyContext(ParserRuleContext parent, int invokingState) {
10106 super(parent, invokingState);
10107 }
10108 @Override public int getRuleIndex() { return RULE_eqKey; }
10109 @Override
10110 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10111 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqKey(this);
10112 else return visitor.visitChildren(this);
10113 }
10114 }
10115
10116 public final EqKeyContext eqKey() throws RecognitionException {
10117 EqKeyContext _localctx = new EqKeyContext(_ctx, getState());
10118 enterRule(_localctx, 186, RULE_eqKey);
10119 int _la;
10120 try {
10121 enterOuterAlt(_localctx, 1);
10122 {
10123 setState(1795);
10124 _la = _input.LA(1);
10125 if ( !(_la==ONLINE || _la==RESUMABLE || ((((_la - 381)) & ~0x3f) == 0 && ((1L << (_la - 381)) & ((1L << (ALLOW_PAGE_LOCKS - 381)) | (1L << (ALLOW_ROW_LOCKS - 381)) | (1L << (COMPRESSION_DELAY - 381)) | (1L << (STATISTICS_INCREMENTAL - 381)) | (1L << (STATISTICS_NORECOMPUTE - 381)) | (1L << (SORT_IN_TEMPDB - 381)) | (1L << (IGNORE_DUP_KEY - 381)) | (1L << (PAD_INDEX - 381)) | (1L << (DROP_EXISTING - 381)))) != 0) || _la==OPTIMIZE_FOR_SEQUENTIAL_KEY) ) {
10126 _errHandler.recoverInline(this);
10127 }
10128 else {
10129 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10130 _errHandler.reportMatch(this);
10131 consume();
10132 }
10133 }
10134 }
10135 catch (RecognitionException re) {
10136 _localctx.exception = re;
10137 _errHandler.reportError(this, re);
10138 _errHandler.recover(this, re);
10139 }
10140 finally {
10141 exitRule();
10142 }
10143 return _localctx;
10144 }
10145
10146 public static class EqOnOffContext extends ParserRuleContext {
10147 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
10148 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
10149 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
10150 public EqOnOffContext(ParserRuleContext parent, int invokingState) {
10151 super(parent, invokingState);
10152 }
10153 @Override public int getRuleIndex() { return RULE_eqOnOff; }
10154 @Override
10155 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10156 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqOnOff(this);
10157 else return visitor.visitChildren(this);
10158 }
10159 }
10160
10161 public final EqOnOffContext eqOnOff() throws RecognitionException {
10162 EqOnOffContext _localctx = new EqOnOffContext(_ctx, getState());
10163 enterRule(_localctx, 188, RULE_eqOnOff);
10164 int _la;
10165 try {
10166 enterOuterAlt(_localctx, 1);
10167 {
10168 setState(1797);
10169 match(EQ_);
10170 setState(1798);
10171 _la = _input.LA(1);
10172 if ( !(_la==ON || _la==OFF) ) {
10173 _errHandler.recoverInline(this);
10174 }
10175 else {
10176 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10177 _errHandler.reportMatch(this);
10178 consume();
10179 }
10180 }
10181 }
10182 catch (RecognitionException re) {
10183 _localctx.exception = re;
10184 _errHandler.reportError(this, re);
10185 _errHandler.recover(this, re);
10186 }
10187 finally {
10188 exitRule();
10189 }
10190 return _localctx;
10191 }
10192
10193 public static class OnPartitionClauseContext extends ParserRuleContext {
10194 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
10195 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
10196 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10197 public PartitionExpressionsContext partitionExpressions() {
10198 return getRuleContext(PartitionExpressionsContext.class,0);
10199 }
10200 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10201 public OnPartitionClauseContext(ParserRuleContext parent, int invokingState) {
10202 super(parent, invokingState);
10203 }
10204 @Override public int getRuleIndex() { return RULE_onPartitionClause; }
10205 @Override
10206 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10207 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnPartitionClause(this);
10208 else return visitor.visitChildren(this);
10209 }
10210 }
10211
10212 public final OnPartitionClauseContext onPartitionClause() throws RecognitionException {
10213 OnPartitionClauseContext _localctx = new OnPartitionClauseContext(_ctx, getState());
10214 enterRule(_localctx, 190, RULE_onPartitionClause);
10215 try {
10216 enterOuterAlt(_localctx, 1);
10217 {
10218 setState(1800);
10219 match(ON);
10220 setState(1801);
10221 match(PARTITIONS);
10222 setState(1802);
10223 match(LP_);
10224 setState(1803);
10225 partitionExpressions();
10226 setState(1804);
10227 match(RP_);
10228 }
10229 }
10230 catch (RecognitionException re) {
10231 _localctx.exception = re;
10232 _errHandler.reportError(this, re);
10233 _errHandler.recover(this, re);
10234 }
10235 finally {
10236 exitRule();
10237 }
10238 return _localctx;
10239 }
10240
10241 public static class PartitionExpressionsContext extends ParserRuleContext {
10242 public List<PartitionExpressionContext> partitionExpression() {
10243 return getRuleContexts(PartitionExpressionContext.class);
10244 }
10245 public PartitionExpressionContext partitionExpression(int i) {
10246 return getRuleContext(PartitionExpressionContext.class,i);
10247 }
10248 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
10249 public TerminalNode COMMA_(int i) {
10250 return getToken(SQLServerStatementParser.COMMA_, i);
10251 }
10252 public PartitionExpressionsContext(ParserRuleContext parent, int invokingState) {
10253 super(parent, invokingState);
10254 }
10255 @Override public int getRuleIndex() { return RULE_partitionExpressions; }
10256 @Override
10257 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10258 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionExpressions(this);
10259 else return visitor.visitChildren(this);
10260 }
10261 }
10262
10263 public final PartitionExpressionsContext partitionExpressions() throws RecognitionException {
10264 PartitionExpressionsContext _localctx = new PartitionExpressionsContext(_ctx, getState());
10265 enterRule(_localctx, 192, RULE_partitionExpressions);
10266 int _la;
10267 try {
10268 enterOuterAlt(_localctx, 1);
10269 {
10270 setState(1806);
10271 partitionExpression();
10272 setState(1811);
10273 _errHandler.sync(this);
10274 _la = _input.LA(1);
10275 while (_la==COMMA_) {
10276 {
10277 {
10278 setState(1807);
10279 match(COMMA_);
10280 setState(1808);
10281 partitionExpression();
10282 }
10283 }
10284 setState(1813);
10285 _errHandler.sync(this);
10286 _la = _input.LA(1);
10287 }
10288 }
10289 }
10290 catch (RecognitionException re) {
10291 _localctx.exception = re;
10292 _errHandler.reportError(this, re);
10293 _errHandler.recover(this, re);
10294 }
10295 finally {
10296 exitRule();
10297 }
10298 return _localctx;
10299 }
10300
10301 public static class PartitionExpressionContext extends ParserRuleContext {
10302 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10303 public NumberRangeContext numberRange() {
10304 return getRuleContext(NumberRangeContext.class,0);
10305 }
10306 public PartitionExpressionContext(ParserRuleContext parent, int invokingState) {
10307 super(parent, invokingState);
10308 }
10309 @Override public int getRuleIndex() { return RULE_partitionExpression; }
10310 @Override
10311 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10312 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionExpression(this);
10313 else return visitor.visitChildren(this);
10314 }
10315 }
10316
10317 public final PartitionExpressionContext partitionExpression() throws RecognitionException {
10318 PartitionExpressionContext _localctx = new PartitionExpressionContext(_ctx, getState());
10319 enterRule(_localctx, 194, RULE_partitionExpression);
10320 try {
10321 setState(1816);
10322 _errHandler.sync(this);
10323 switch ( getInterpreter().adaptivePredict(_input,103,_ctx) ) {
10324 case 1:
10325 enterOuterAlt(_localctx, 1);
10326 {
10327 setState(1814);
10328 match(NUMBER_);
10329 }
10330 break;
10331 case 2:
10332 enterOuterAlt(_localctx, 2);
10333 {
10334 setState(1815);
10335 numberRange();
10336 }
10337 break;
10338 }
10339 }
10340 catch (RecognitionException re) {
10341 _localctx.exception = re;
10342 _errHandler.reportError(this, re);
10343 _errHandler.recover(this, re);
10344 }
10345 finally {
10346 exitRule();
10347 }
10348 return _localctx;
10349 }
10350
10351 public static class NumberRangeContext extends ParserRuleContext {
10352 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
10353 public TerminalNode NUMBER_(int i) {
10354 return getToken(SQLServerStatementParser.NUMBER_, i);
10355 }
10356 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
10357 public NumberRangeContext(ParserRuleContext parent, int invokingState) {
10358 super(parent, invokingState);
10359 }
10360 @Override public int getRuleIndex() { return RULE_numberRange; }
10361 @Override
10362 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10363 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNumberRange(this);
10364 else return visitor.visitChildren(this);
10365 }
10366 }
10367
10368 public final NumberRangeContext numberRange() throws RecognitionException {
10369 NumberRangeContext _localctx = new NumberRangeContext(_ctx, getState());
10370 enterRule(_localctx, 196, RULE_numberRange);
10371 try {
10372 enterOuterAlt(_localctx, 1);
10373 {
10374 setState(1818);
10375 match(NUMBER_);
10376 setState(1819);
10377 match(TO);
10378 setState(1820);
10379 match(NUMBER_);
10380 }
10381 }
10382 catch (RecognitionException re) {
10383 _localctx.exception = re;
10384 _errHandler.reportError(this, re);
10385 _errHandler.recover(this, re);
10386 }
10387 finally {
10388 exitRule();
10389 }
10390 return _localctx;
10391 }
10392
10393 public static class LowPriorityLockWaitContext extends ParserRuleContext {
10394 public TerminalNode WAIT_AT_LOW_PRIORITY() { return getToken(SQLServerStatementParser.WAIT_AT_LOW_PRIORITY, 0); }
10395 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10396 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
10397 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
10398 public TerminalNode EQ_(int i) {
10399 return getToken(SQLServerStatementParser.EQ_, i);
10400 }
10401 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10402 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
10403 public TerminalNode ABORT_AFTER_WAIT() { return getToken(SQLServerStatementParser.ABORT_AFTER_WAIT, 0); }
10404 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10405 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
10406 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
10407 public TerminalNode BLOCKERS() { return getToken(SQLServerStatementParser.BLOCKERS, 0); }
10408 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
10409 public LowPriorityLockWaitContext(ParserRuleContext parent, int invokingState) {
10410 super(parent, invokingState);
10411 }
10412 @Override public int getRuleIndex() { return RULE_lowPriorityLockWait; }
10413 @Override
10414 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10415 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLowPriorityLockWait(this);
10416 else return visitor.visitChildren(this);
10417 }
10418 }
10419
10420 public final LowPriorityLockWaitContext lowPriorityLockWait() throws RecognitionException {
10421 LowPriorityLockWaitContext _localctx = new LowPriorityLockWaitContext(_ctx, getState());
10422 enterRule(_localctx, 198, RULE_lowPriorityLockWait);
10423 int _la;
10424 try {
10425 enterOuterAlt(_localctx, 1);
10426 {
10427 setState(1822);
10428 match(WAIT_AT_LOW_PRIORITY);
10429 setState(1823);
10430 match(LP_);
10431 setState(1824);
10432 match(MAX_DURATION);
10433 setState(1825);
10434 match(EQ_);
10435 setState(1826);
10436 match(NUMBER_);
10437 setState(1828);
10438 _errHandler.sync(this);
10439 _la = _input.LA(1);
10440 if (_la==MINUTES) {
10441 {
10442 setState(1827);
10443 match(MINUTES);
10444 }
10445 }
10446
10447 setState(1830);
10448 match(COMMA_);
10449 setState(1831);
10450 match(ABORT_AFTER_WAIT);
10451 setState(1832);
10452 match(EQ_);
10453 setState(1833);
10454 _la = _input.LA(1);
10455 if ( !(((((_la - 243)) & ~0x3f) == 0 && ((1L << (_la - 243)) & ((1L << (BLOCKERS - 243)) | (1L << (NONE - 243)) | (1L << (SELF - 243)))) != 0)) ) {
10456 _errHandler.recoverInline(this);
10457 }
10458 else {
10459 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10460 _errHandler.reportMatch(this);
10461 consume();
10462 }
10463 setState(1834);
10464 match(RP_);
10465 }
10466 }
10467 catch (RecognitionException re) {
10468 _localctx.exception = re;
10469 _errHandler.reportError(this, re);
10470 _errHandler.recover(this, re);
10471 }
10472 finally {
10473 exitRule();
10474 }
10475 return _localctx;
10476 }
10477
10478 public static class OnLowPriorLockWaitContext extends ParserRuleContext {
10479 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
10480 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10481 public LowPriorityLockWaitContext lowPriorityLockWait() {
10482 return getRuleContext(LowPriorityLockWaitContext.class,0);
10483 }
10484 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10485 public OnLowPriorLockWaitContext(ParserRuleContext parent, int invokingState) {
10486 super(parent, invokingState);
10487 }
10488 @Override public int getRuleIndex() { return RULE_onLowPriorLockWait; }
10489 @Override
10490 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10491 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnLowPriorLockWait(this);
10492 else return visitor.visitChildren(this);
10493 }
10494 }
10495
10496 public final OnLowPriorLockWaitContext onLowPriorLockWait() throws RecognitionException {
10497 OnLowPriorLockWaitContext _localctx = new OnLowPriorLockWaitContext(_ctx, getState());
10498 enterRule(_localctx, 200, RULE_onLowPriorLockWait);
10499 int _la;
10500 try {
10501 enterOuterAlt(_localctx, 1);
10502 {
10503 setState(1836);
10504 match(ON);
10505 setState(1841);
10506 _errHandler.sync(this);
10507 _la = _input.LA(1);
10508 if (_la==LP_) {
10509 {
10510 setState(1837);
10511 match(LP_);
10512 setState(1838);
10513 lowPriorityLockWait();
10514 setState(1839);
10515 match(RP_);
10516 }
10517 }
10518
10519 }
10520 }
10521 catch (RecognitionException re) {
10522 _localctx.exception = re;
10523 _errHandler.reportError(this, re);
10524 _errHandler.recover(this, re);
10525 }
10526 finally {
10527 exitRule();
10528 }
10529 return _localctx;
10530 }
10531
10532 public static class IgnoredIdentifierContext extends ParserRuleContext {
10533 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
10534 public IgnoredIdentifierContext(ParserRuleContext parent, int invokingState) {
10535 super(parent, invokingState);
10536 }
10537 @Override public int getRuleIndex() { return RULE_ignoredIdentifier; }
10538 @Override
10539 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10540 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredIdentifier(this);
10541 else return visitor.visitChildren(this);
10542 }
10543 }
10544
10545 public final IgnoredIdentifierContext ignoredIdentifier() throws RecognitionException {
10546 IgnoredIdentifierContext _localctx = new IgnoredIdentifierContext(_ctx, getState());
10547 enterRule(_localctx, 202, RULE_ignoredIdentifier);
10548 try {
10549 enterOuterAlt(_localctx, 1);
10550 {
10551 setState(1843);
10552 match(IDENTIFIER_);
10553 }
10554 }
10555 catch (RecognitionException re) {
10556 _localctx.exception = re;
10557 _errHandler.reportError(this, re);
10558 _errHandler.recover(this, re);
10559 }
10560 finally {
10561 exitRule();
10562 }
10563 return _localctx;
10564 }
10565
10566 public static class IgnoredIdentifiersContext extends ParserRuleContext {
10567 public List<IgnoredIdentifierContext> ignoredIdentifier() {
10568 return getRuleContexts(IgnoredIdentifierContext.class);
10569 }
10570 public IgnoredIdentifierContext ignoredIdentifier(int i) {
10571 return getRuleContext(IgnoredIdentifierContext.class,i);
10572 }
10573 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
10574 public TerminalNode COMMA_(int i) {
10575 return getToken(SQLServerStatementParser.COMMA_, i);
10576 }
10577 public IgnoredIdentifiersContext(ParserRuleContext parent, int invokingState) {
10578 super(parent, invokingState);
10579 }
10580 @Override public int getRuleIndex() { return RULE_ignoredIdentifiers; }
10581 @Override
10582 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10583 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredIdentifiers(this);
10584 else return visitor.visitChildren(this);
10585 }
10586 }
10587
10588 public final IgnoredIdentifiersContext ignoredIdentifiers() throws RecognitionException {
10589 IgnoredIdentifiersContext _localctx = new IgnoredIdentifiersContext(_ctx, getState());
10590 enterRule(_localctx, 204, RULE_ignoredIdentifiers);
10591 try {
10592 int _alt;
10593 enterOuterAlt(_localctx, 1);
10594 {
10595 setState(1845);
10596 ignoredIdentifier();
10597 setState(1850);
10598 _errHandler.sync(this);
10599 _alt = getInterpreter().adaptivePredict(_input,106,_ctx);
10600 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
10601 if ( _alt==1 ) {
10602 {
10603 {
10604 setState(1846);
10605 match(COMMA_);
10606 setState(1847);
10607 ignoredIdentifier();
10608 }
10609 }
10610 }
10611 setState(1852);
10612 _errHandler.sync(this);
10613 _alt = getInterpreter().adaptivePredict(_input,106,_ctx);
10614 }
10615 }
10616 }
10617 catch (RecognitionException re) {
10618 _localctx.exception = re;
10619 _errHandler.reportError(this, re);
10620 _errHandler.recover(this, re);
10621 }
10622 finally {
10623 exitRule();
10624 }
10625 return _localctx;
10626 }
10627
10628 public static class MatchNoneContext extends ParserRuleContext {
10629 public MatchNoneContext(ParserRuleContext parent, int invokingState) {
10630 super(parent, invokingState);
10631 }
10632 @Override public int getRuleIndex() { return RULE_matchNone; }
10633 @Override
10634 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10635 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMatchNone(this);
10636 else return visitor.visitChildren(this);
10637 }
10638 }
10639
10640 public final MatchNoneContext matchNone() throws RecognitionException {
10641 MatchNoneContext _localctx = new MatchNoneContext(_ctx, getState());
10642 enterRule(_localctx, 206, RULE_matchNone);
10643 try {
10644 enterOuterAlt(_localctx, 1);
10645 {
10646 setState(1853);
10647 match(T__0);
10648 }
10649 }
10650 catch (RecognitionException re) {
10651 _localctx.exception = re;
10652 _errHandler.reportError(this, re);
10653 _errHandler.recover(this, re);
10654 }
10655 finally {
10656 exitRule();
10657 }
10658 return _localctx;
10659 }
10660
10661 public static class VariableNameContext extends ParserRuleContext {
10662 public IdentifierContext identifier() {
10663 return getRuleContext(IdentifierContext.class,0);
10664 }
10665 public VariableNameContext(ParserRuleContext parent, int invokingState) {
10666 super(parent, invokingState);
10667 }
10668 @Override public int getRuleIndex() { return RULE_variableName; }
10669 @Override
10670 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10671 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableName(this);
10672 else return visitor.visitChildren(this);
10673 }
10674 }
10675
10676 public final VariableNameContext variableName() throws RecognitionException {
10677 VariableNameContext _localctx = new VariableNameContext(_ctx, getState());
10678 enterRule(_localctx, 208, RULE_variableName);
10679 try {
10680 enterOuterAlt(_localctx, 1);
10681 {
10682 setState(1855);
10683 identifier();
10684 }
10685 }
10686 catch (RecognitionException re) {
10687 _localctx.exception = re;
10688 _errHandler.reportError(this, re);
10689 _errHandler.recover(this, re);
10690 }
10691 finally {
10692 exitRule();
10693 }
10694 return _localctx;
10695 }
10696
10697 public static class ExecuteAsClauseContext extends ParserRuleContext {
10698 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
10699 public TerminalNode EXEC() { return getToken(SQLServerStatementParser.EXEC, 0); }
10700 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
10701 public TerminalNode CALLER() { return getToken(SQLServerStatementParser.CALLER, 0); }
10702 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
10703 public TerminalNode OWNER() { return getToken(SQLServerStatementParser.OWNER, 0); }
10704 public StringLiteralsContext stringLiterals() {
10705 return getRuleContext(StringLiteralsContext.class,0);
10706 }
10707 public ExecuteAsClauseContext(ParserRuleContext parent, int invokingState) {
10708 super(parent, invokingState);
10709 }
10710 @Override public int getRuleIndex() { return RULE_executeAsClause; }
10711 @Override
10712 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10713 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExecuteAsClause(this);
10714 else return visitor.visitChildren(this);
10715 }
10716 }
10717
10718 public final ExecuteAsClauseContext executeAsClause() throws RecognitionException {
10719 ExecuteAsClauseContext _localctx = new ExecuteAsClauseContext(_ctx, getState());
10720 enterRule(_localctx, 210, RULE_executeAsClause);
10721 int _la;
10722 try {
10723 enterOuterAlt(_localctx, 1);
10724 {
10725 setState(1857);
10726 _la = _input.LA(1);
10727 if ( !(_la==EXECUTE || _la==EXEC) ) {
10728 _errHandler.recoverInline(this);
10729 }
10730 else {
10731 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10732 _errHandler.reportMatch(this);
10733 consume();
10734 }
10735 setState(1858);
10736 match(AS);
10737 setState(1863);
10738 _errHandler.sync(this);
10739 switch (_input.LA(1)) {
10740 case CALLER:
10741 {
10742 setState(1859);
10743 match(CALLER);
10744 }
10745 break;
10746 case SELF:
10747 {
10748 setState(1860);
10749 match(SELF);
10750 }
10751 break;
10752 case OWNER:
10753 {
10754 setState(1861);
10755 match(OWNER);
10756 }
10757 break;
10758 case STRING_:
10759 case NCHAR_TEXT:
10760 {
10761 setState(1862);
10762 stringLiterals();
10763 }
10764 break;
10765 default:
10766 throw new NoViableAltException(this);
10767 }
10768 }
10769 }
10770 catch (RecognitionException re) {
10771 _localctx.exception = re;
10772 _errHandler.reportError(this, re);
10773 _errHandler.recover(this, re);
10774 }
10775 finally {
10776 exitRule();
10777 }
10778 return _localctx;
10779 }
10780
10781 public static class TransactionNameContext extends ParserRuleContext {
10782 public IdentifierContext identifier() {
10783 return getRuleContext(IdentifierContext.class,0);
10784 }
10785 public TransactionNameContext(ParserRuleContext parent, int invokingState) {
10786 super(parent, invokingState);
10787 }
10788 @Override public int getRuleIndex() { return RULE_transactionName; }
10789 @Override
10790 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10791 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTransactionName(this);
10792 else return visitor.visitChildren(this);
10793 }
10794 }
10795
10796 public final TransactionNameContext transactionName() throws RecognitionException {
10797 TransactionNameContext _localctx = new TransactionNameContext(_ctx, getState());
10798 enterRule(_localctx, 212, RULE_transactionName);
10799 try {
10800 enterOuterAlt(_localctx, 1);
10801 {
10802 setState(1865);
10803 identifier();
10804 }
10805 }
10806 catch (RecognitionException re) {
10807 _localctx.exception = re;
10808 _errHandler.reportError(this, re);
10809 _errHandler.recover(this, re);
10810 }
10811 finally {
10812 exitRule();
10813 }
10814 return _localctx;
10815 }
10816
10817 public static class TransactionVariableNameContext extends ParserRuleContext {
10818 public VariableNameContext variableName() {
10819 return getRuleContext(VariableNameContext.class,0);
10820 }
10821 public TransactionVariableNameContext(ParserRuleContext parent, int invokingState) {
10822 super(parent, invokingState);
10823 }
10824 @Override public int getRuleIndex() { return RULE_transactionVariableName; }
10825 @Override
10826 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10827 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTransactionVariableName(this);
10828 else return visitor.visitChildren(this);
10829 }
10830 }
10831
10832 public final TransactionVariableNameContext transactionVariableName() throws RecognitionException {
10833 TransactionVariableNameContext _localctx = new TransactionVariableNameContext(_ctx, getState());
10834 enterRule(_localctx, 214, RULE_transactionVariableName);
10835 try {
10836 enterOuterAlt(_localctx, 1);
10837 {
10838 setState(1867);
10839 variableName();
10840 }
10841 }
10842 catch (RecognitionException re) {
10843 _localctx.exception = re;
10844 _errHandler.reportError(this, re);
10845 _errHandler.recover(this, re);
10846 }
10847 finally {
10848 exitRule();
10849 }
10850 return _localctx;
10851 }
10852
10853 public static class SavepointNameContext extends ParserRuleContext {
10854 public IdentifierContext identifier() {
10855 return getRuleContext(IdentifierContext.class,0);
10856 }
10857 public SavepointNameContext(ParserRuleContext parent, int invokingState) {
10858 super(parent, invokingState);
10859 }
10860 @Override public int getRuleIndex() { return RULE_savepointName; }
10861 @Override
10862 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10863 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepointName(this);
10864 else return visitor.visitChildren(this);
10865 }
10866 }
10867
10868 public final SavepointNameContext savepointName() throws RecognitionException {
10869 SavepointNameContext _localctx = new SavepointNameContext(_ctx, getState());
10870 enterRule(_localctx, 216, RULE_savepointName);
10871 try {
10872 enterOuterAlt(_localctx, 1);
10873 {
10874 setState(1869);
10875 identifier();
10876 }
10877 }
10878 catch (RecognitionException re) {
10879 _localctx.exception = re;
10880 _errHandler.reportError(this, re);
10881 _errHandler.recover(this, re);
10882 }
10883 finally {
10884 exitRule();
10885 }
10886 return _localctx;
10887 }
10888
10889 public static class SavepointVariableNameContext extends ParserRuleContext {
10890 public VariableNameContext variableName() {
10891 return getRuleContext(VariableNameContext.class,0);
10892 }
10893 public SavepointVariableNameContext(ParserRuleContext parent, int invokingState) {
10894 super(parent, invokingState);
10895 }
10896 @Override public int getRuleIndex() { return RULE_savepointVariableName; }
10897 @Override
10898 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10899 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepointVariableName(this);
10900 else return visitor.visitChildren(this);
10901 }
10902 }
10903
10904 public final SavepointVariableNameContext savepointVariableName() throws RecognitionException {
10905 SavepointVariableNameContext _localctx = new SavepointVariableNameContext(_ctx, getState());
10906 enterRule(_localctx, 218, RULE_savepointVariableName);
10907 try {
10908 enterOuterAlt(_localctx, 1);
10909 {
10910 setState(1871);
10911 variableName();
10912 }
10913 }
10914 catch (RecognitionException re) {
10915 _localctx.exception = re;
10916 _errHandler.reportError(this, re);
10917 _errHandler.recover(this, re);
10918 }
10919 finally {
10920 exitRule();
10921 }
10922 return _localctx;
10923 }
10924
10925 public static class EntityTypeContext extends ParserRuleContext {
10926 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
10927 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
10928 public EntityTypeContext(ParserRuleContext parent, int invokingState) {
10929 super(parent, invokingState);
10930 }
10931 @Override public int getRuleIndex() { return RULE_entityType; }
10932 @Override
10933 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10934 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEntityType(this);
10935 else return visitor.visitChildren(this);
10936 }
10937 }
10938
10939 public final EntityTypeContext entityType() throws RecognitionException {
10940 EntityTypeContext _localctx = new EntityTypeContext(_ctx, getState());
10941 enterRule(_localctx, 220, RULE_entityType);
10942 int _la;
10943 try {
10944 enterOuterAlt(_localctx, 1);
10945 {
10946 setState(1873);
10947 _la = _input.LA(1);
10948 if ( !(_la==TYPE || _la==OBJECT) ) {
10949 _errHandler.recoverInline(this);
10950 }
10951 else {
10952 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10953 _errHandler.reportMatch(this);
10954 consume();
10955 }
10956 }
10957 }
10958 catch (RecognitionException re) {
10959 _localctx.exception = re;
10960 _errHandler.reportError(this, re);
10961 _errHandler.recover(this, re);
10962 }
10963 finally {
10964 exitRule();
10965 }
10966 return _localctx;
10967 }
10968
10969 public static class IfExistsContext extends ParserRuleContext {
10970 public TerminalNode IF() { return getToken(SQLServerStatementParser.IF, 0); }
10971 public TerminalNode EXISTS() { return getToken(SQLServerStatementParser.EXISTS, 0); }
10972 public IfExistsContext(ParserRuleContext parent, int invokingState) {
10973 super(parent, invokingState);
10974 }
10975 @Override public int getRuleIndex() { return RULE_ifExists; }
10976 @Override
10977 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10978 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIfExists(this);
10979 else return visitor.visitChildren(this);
10980 }
10981 }
10982
10983 public final IfExistsContext ifExists() throws RecognitionException {
10984 IfExistsContext _localctx = new IfExistsContext(_ctx, getState());
10985 enterRule(_localctx, 222, RULE_ifExists);
10986 try {
10987 enterOuterAlt(_localctx, 1);
10988 {
10989 setState(1875);
10990 match(IF);
10991 setState(1876);
10992 match(EXISTS);
10993 }
10994 }
10995 catch (RecognitionException re) {
10996 _localctx.exception = re;
10997 _errHandler.reportError(this, re);
10998 _errHandler.recover(this, re);
10999 }
11000 finally {
11001 exitRule();
11002 }
11003 return _localctx;
11004 }
11005
11006 public static class CallContext extends ParserRuleContext {
11007 public TerminalNode CALL() { return getToken(SQLServerStatementParser.CALL, 0); }
11008 public CallContext(ParserRuleContext parent, int invokingState) {
11009 super(parent, invokingState);
11010 }
11011 @Override public int getRuleIndex() { return RULE_call; }
11012 @Override
11013 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11014 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCall(this);
11015 else return visitor.visitChildren(this);
11016 }
11017 }
11018
11019 public final CallContext call() throws RecognitionException {
11020 CallContext _localctx = new CallContext(_ctx, getState());
11021 enterRule(_localctx, 224, RULE_call);
11022 try {
11023 enterOuterAlt(_localctx, 1);
11024 {
11025 setState(1878);
11026 match(CALL);
11027 }
11028 }
11029 catch (RecognitionException re) {
11030 _localctx.exception = re;
11031 _errHandler.reportError(this, re);
11032 _errHandler.recover(this, re);
11033 }
11034 finally {
11035 exitRule();
11036 }
11037 return _localctx;
11038 }
11039
11040 public static class ExplainContext extends ParserRuleContext {
11041 public TerminalNode EXPLAIN() { return getToken(SQLServerStatementParser.EXPLAIN, 0); }
11042 public ExplainableStatementContext explainableStatement() {
11043 return getRuleContext(ExplainableStatementContext.class,0);
11044 }
11045 public TerminalNode WITH_RECOMMENDATIONS() { return getToken(SQLServerStatementParser.WITH_RECOMMENDATIONS, 0); }
11046 public ExplainContext(ParserRuleContext parent, int invokingState) {
11047 super(parent, invokingState);
11048 }
11049 @Override public int getRuleIndex() { return RULE_explain; }
11050 @Override
11051 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11052 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExplain(this);
11053 else return visitor.visitChildren(this);
11054 }
11055 }
11056
11057 public final ExplainContext explain() throws RecognitionException {
11058 ExplainContext _localctx = new ExplainContext(_ctx, getState());
11059 enterRule(_localctx, 226, RULE_explain);
11060 int _la;
11061 try {
11062 enterOuterAlt(_localctx, 1);
11063 {
11064 setState(1880);
11065 match(EXPLAIN);
11066 setState(1882);
11067 _errHandler.sync(this);
11068 _la = _input.LA(1);
11069 if (_la==WITH_RECOMMENDATIONS) {
11070 {
11071 setState(1881);
11072 match(WITH_RECOMMENDATIONS);
11073 }
11074 }
11075
11076 setState(1884);
11077 explainableStatement();
11078 }
11079 }
11080 catch (RecognitionException re) {
11081 _localctx.exception = re;
11082 _errHandler.reportError(this, re);
11083 _errHandler.recover(this, re);
11084 }
11085 finally {
11086 exitRule();
11087 }
11088 return _localctx;
11089 }
11090
11091 public static class ExplainableStatementContext extends ParserRuleContext {
11092 public SelectContext select() {
11093 return getRuleContext(SelectContext.class,0);
11094 }
11095 public InsertContext insert() {
11096 return getRuleContext(InsertContext.class,0);
11097 }
11098 public UpdateContext update() {
11099 return getRuleContext(UpdateContext.class,0);
11100 }
11101 public DeleteContext delete() {
11102 return getRuleContext(DeleteContext.class,0);
11103 }
11104 public CreateTableAsSelectClauseContext createTableAsSelectClause() {
11105 return getRuleContext(CreateTableAsSelectClauseContext.class,0);
11106 }
11107 public ExplainableStatementContext(ParserRuleContext parent, int invokingState) {
11108 super(parent, invokingState);
11109 }
11110 @Override public int getRuleIndex() { return RULE_explainableStatement; }
11111 @Override
11112 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11113 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExplainableStatement(this);
11114 else return visitor.visitChildren(this);
11115 }
11116 }
11117
11118 public final ExplainableStatementContext explainableStatement() throws RecognitionException {
11119 ExplainableStatementContext _localctx = new ExplainableStatementContext(_ctx, getState());
11120 enterRule(_localctx, 228, RULE_explainableStatement);
11121 try {
11122 setState(1891);
11123 _errHandler.sync(this);
11124 switch ( getInterpreter().adaptivePredict(_input,109,_ctx) ) {
11125 case 1:
11126 enterOuterAlt(_localctx, 1);
11127 {
11128 setState(1886);
11129 select();
11130 }
11131 break;
11132 case 2:
11133 enterOuterAlt(_localctx, 2);
11134 {
11135 setState(1887);
11136 insert();
11137 }
11138 break;
11139 case 3:
11140 enterOuterAlt(_localctx, 3);
11141 {
11142 setState(1888);
11143 update();
11144 }
11145 break;
11146 case 4:
11147 enterOuterAlt(_localctx, 4);
11148 {
11149 setState(1889);
11150 delete();
11151 }
11152 break;
11153 case 5:
11154 enterOuterAlt(_localctx, 5);
11155 {
11156 setState(1890);
11157 createTableAsSelectClause();
11158 }
11159 break;
11160 }
11161 }
11162 catch (RecognitionException re) {
11163 _localctx.exception = re;
11164 _errHandler.reportError(this, re);
11165 _errHandler.recover(this, re);
11166 }
11167 finally {
11168 exitRule();
11169 }
11170 return _localctx;
11171 }
11172
11173 public static class CreateTableContext extends ParserRuleContext {
11174 public CreateTableClauseContext createTableClause() {
11175 return getRuleContext(CreateTableClauseContext.class,0);
11176 }
11177 public CreateTableAsSelectClauseContext createTableAsSelectClause() {
11178 return getRuleContext(CreateTableAsSelectClauseContext.class,0);
11179 }
11180 public CreateTableContext(ParserRuleContext parent, int invokingState) {
11181 super(parent, invokingState);
11182 }
11183 @Override public int getRuleIndex() { return RULE_createTable; }
11184 @Override
11185 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11186 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTable(this);
11187 else return visitor.visitChildren(this);
11188 }
11189 }
11190
11191 public final CreateTableContext createTable() throws RecognitionException {
11192 CreateTableContext _localctx = new CreateTableContext(_ctx, getState());
11193 enterRule(_localctx, 230, RULE_createTable);
11194 try {
11195 setState(1895);
11196 _errHandler.sync(this);
11197 switch ( getInterpreter().adaptivePredict(_input,110,_ctx) ) {
11198 case 1:
11199 enterOuterAlt(_localctx, 1);
11200 {
11201 setState(1893);
11202 createTableClause();
11203 }
11204 break;
11205 case 2:
11206 enterOuterAlt(_localctx, 2);
11207 {
11208 setState(1894);
11209 createTableAsSelectClause();
11210 }
11211 break;
11212 }
11213 }
11214 catch (RecognitionException re) {
11215 _localctx.exception = re;
11216 _errHandler.reportError(this, re);
11217 _errHandler.recover(this, re);
11218 }
11219 finally {
11220 exitRule();
11221 }
11222 return _localctx;
11223 }
11224
11225 public static class CreateTableClauseContext extends ParserRuleContext {
11226 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11227 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
11228 public TableNameContext tableName() {
11229 return getRuleContext(TableNameContext.class,0);
11230 }
11231 public FileTableClauseContext fileTableClause() {
11232 return getRuleContext(FileTableClauseContext.class,0);
11233 }
11234 public CreateDefinitionClauseContext createDefinitionClause() {
11235 return getRuleContext(CreateDefinitionClauseContext.class,0);
11236 }
11237 public CreateTableClauseContext(ParserRuleContext parent, int invokingState) {
11238 super(parent, invokingState);
11239 }
11240 @Override public int getRuleIndex() { return RULE_createTableClause; }
11241 @Override
11242 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11243 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableClause(this);
11244 else return visitor.visitChildren(this);
11245 }
11246 }
11247
11248 public final CreateTableClauseContext createTableClause() throws RecognitionException {
11249 CreateTableClauseContext _localctx = new CreateTableClauseContext(_ctx, getState());
11250 enterRule(_localctx, 232, RULE_createTableClause);
11251 try {
11252 enterOuterAlt(_localctx, 1);
11253 {
11254 setState(1897);
11255 match(CREATE);
11256 setState(1898);
11257 match(TABLE);
11258 setState(1899);
11259 tableName();
11260 setState(1900);
11261 fileTableClause();
11262 setState(1901);
11263 createDefinitionClause();
11264 }
11265 }
11266 catch (RecognitionException re) {
11267 _localctx.exception = re;
11268 _errHandler.reportError(this, re);
11269 _errHandler.recover(this, re);
11270 }
11271 finally {
11272 exitRule();
11273 }
11274 return _localctx;
11275 }
11276
11277 public static class CreateIndexContext extends ParserRuleContext {
11278 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11279 public CreateIndexSpecificationContext createIndexSpecification() {
11280 return getRuleContext(CreateIndexSpecificationContext.class,0);
11281 }
11282 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
11283 public IndexNameContext indexName() {
11284 return getRuleContext(IndexNameContext.class,0);
11285 }
11286 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11287 public TableNameContext tableName() {
11288 return getRuleContext(TableNameContext.class,0);
11289 }
11290 public ColumnNamesWithSortContext columnNamesWithSort() {
11291 return getRuleContext(ColumnNamesWithSortContext.class,0);
11292 }
11293 public CreateIndexClauseContext createIndexClause() {
11294 return getRuleContext(CreateIndexClauseContext.class,0);
11295 }
11296 public CreateIndexContext(ParserRuleContext parent, int invokingState) {
11297 super(parent, invokingState);
11298 }
11299 @Override public int getRuleIndex() { return RULE_createIndex; }
11300 @Override
11301 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11302 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndex(this);
11303 else return visitor.visitChildren(this);
11304 }
11305 }
11306
11307 public final CreateIndexContext createIndex() throws RecognitionException {
11308 CreateIndexContext _localctx = new CreateIndexContext(_ctx, getState());
11309 enterRule(_localctx, 234, RULE_createIndex);
11310 try {
11311 enterOuterAlt(_localctx, 1);
11312 {
11313 setState(1903);
11314 match(CREATE);
11315 setState(1904);
11316 createIndexSpecification();
11317 setState(1905);
11318 match(INDEX);
11319 setState(1906);
11320 indexName();
11321 setState(1907);
11322 match(ON);
11323 setState(1908);
11324 tableName();
11325 setState(1909);
11326 columnNamesWithSort();
11327 setState(1910);
11328 createIndexClause();
11329 }
11330 }
11331 catch (RecognitionException re) {
11332 _localctx.exception = re;
11333 _errHandler.reportError(this, re);
11334 _errHandler.recover(this, re);
11335 }
11336 finally {
11337 exitRule();
11338 }
11339 return _localctx;
11340 }
11341
11342 public static class CreateDatabaseContext extends ParserRuleContext {
11343 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11344 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
11345 public DatabaseNameContext databaseName() {
11346 return getRuleContext(DatabaseNameContext.class,0);
11347 }
11348 public CreateDatabaseClauseContext createDatabaseClause() {
11349 return getRuleContext(CreateDatabaseClauseContext.class,0);
11350 }
11351 public CreateDatabaseContext(ParserRuleContext parent, int invokingState) {
11352 super(parent, invokingState);
11353 }
11354 @Override public int getRuleIndex() { return RULE_createDatabase; }
11355 @Override
11356 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11357 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDatabase(this);
11358 else return visitor.visitChildren(this);
11359 }
11360 }
11361
11362 public final CreateDatabaseContext createDatabase() throws RecognitionException {
11363 CreateDatabaseContext _localctx = new CreateDatabaseContext(_ctx, getState());
11364 enterRule(_localctx, 236, RULE_createDatabase);
11365 try {
11366 enterOuterAlt(_localctx, 1);
11367 {
11368 setState(1912);
11369 match(CREATE);
11370 setState(1913);
11371 match(DATABASE);
11372 setState(1914);
11373 databaseName();
11374 setState(1915);
11375 createDatabaseClause();
11376 }
11377 }
11378 catch (RecognitionException re) {
11379 _localctx.exception = re;
11380 _errHandler.reportError(this, re);
11381 _errHandler.recover(this, re);
11382 }
11383 finally {
11384 exitRule();
11385 }
11386 return _localctx;
11387 }
11388
11389 public static class CreateFunctionContext extends ParserRuleContext {
11390 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11391 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
11392 public FunctionNameContext functionName() {
11393 return getRuleContext(FunctionNameContext.class,0);
11394 }
11395 public FuncParametersContext funcParameters() {
11396 return getRuleContext(FuncParametersContext.class,0);
11397 }
11398 public FuncReturnsContext funcReturns() {
11399 return getRuleContext(FuncReturnsContext.class,0);
11400 }
11401 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
11402 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
11403 public CreateFunctionContext(ParserRuleContext parent, int invokingState) {
11404 super(parent, invokingState);
11405 }
11406 @Override public int getRuleIndex() { return RULE_createFunction; }
11407 @Override
11408 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11409 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateFunction(this);
11410 else return visitor.visitChildren(this);
11411 }
11412 }
11413
11414 public final CreateFunctionContext createFunction() throws RecognitionException {
11415 CreateFunctionContext _localctx = new CreateFunctionContext(_ctx, getState());
11416 enterRule(_localctx, 238, RULE_createFunction);
11417 int _la;
11418 try {
11419 enterOuterAlt(_localctx, 1);
11420 {
11421 setState(1917);
11422 match(CREATE);
11423 setState(1920);
11424 _errHandler.sync(this);
11425 _la = _input.LA(1);
11426 if (_la==OR) {
11427 {
11428 setState(1918);
11429 match(OR);
11430 setState(1919);
11431 match(ALTER);
11432 }
11433 }
11434
11435 setState(1922);
11436 match(FUNCTION);
11437 setState(1923);
11438 functionName();
11439 setState(1924);
11440 funcParameters();
11441 setState(1925);
11442 funcReturns();
11443 }
11444 }
11445 catch (RecognitionException re) {
11446 _localctx.exception = re;
11447 _errHandler.reportError(this, re);
11448 _errHandler.recover(this, re);
11449 }
11450 finally {
11451 exitRule();
11452 }
11453 return _localctx;
11454 }
11455
11456 public static class CreateProcedureContext extends ParserRuleContext {
11457 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11458 public ProcedureNameContext procedureName() {
11459 return getRuleContext(ProcedureNameContext.class,0);
11460 }
11461 public ProcParametersContext procParameters() {
11462 return getRuleContext(ProcParametersContext.class,0);
11463 }
11464 public CreateOrAlterProcClauseContext createOrAlterProcClause() {
11465 return getRuleContext(CreateOrAlterProcClauseContext.class,0);
11466 }
11467 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
11468 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
11469 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
11470 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
11471 public CreateProcedureContext(ParserRuleContext parent, int invokingState) {
11472 super(parent, invokingState);
11473 }
11474 @Override public int getRuleIndex() { return RULE_createProcedure; }
11475 @Override
11476 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11477 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateProcedure(this);
11478 else return visitor.visitChildren(this);
11479 }
11480 }
11481
11482 public final CreateProcedureContext createProcedure() throws RecognitionException {
11483 CreateProcedureContext _localctx = new CreateProcedureContext(_ctx, getState());
11484 enterRule(_localctx, 240, RULE_createProcedure);
11485 int _la;
11486 try {
11487 enterOuterAlt(_localctx, 1);
11488 {
11489 setState(1927);
11490 match(CREATE);
11491 setState(1930);
11492 _errHandler.sync(this);
11493 _la = _input.LA(1);
11494 if (_la==OR) {
11495 {
11496 setState(1928);
11497 match(OR);
11498 setState(1929);
11499 match(ALTER);
11500 }
11501 }
11502
11503 setState(1932);
11504 _la = _input.LA(1);
11505 if ( !(_la==PROCEDURE || _la==PROC) ) {
11506 _errHandler.recoverInline(this);
11507 }
11508 else {
11509 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11510 _errHandler.reportMatch(this);
11511 consume();
11512 }
11513 setState(1933);
11514 procedureName();
11515 setState(1934);
11516 procParameters();
11517 setState(1935);
11518 createOrAlterProcClause();
11519 }
11520 }
11521 catch (RecognitionException re) {
11522 _localctx.exception = re;
11523 _errHandler.reportError(this, re);
11524 _errHandler.recover(this, re);
11525 }
11526 finally {
11527 exitRule();
11528 }
11529 return _localctx;
11530 }
11531
11532 public static class CreateViewContext extends ParserRuleContext {
11533 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11534 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
11535 public ViewNameContext viewName() {
11536 return getRuleContext(ViewNameContext.class,0);
11537 }
11538 public CreateOrAlterViewClauseContext createOrAlterViewClause() {
11539 return getRuleContext(CreateOrAlterViewClauseContext.class,0);
11540 }
11541 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
11542 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
11543 public CreateViewContext(ParserRuleContext parent, int invokingState) {
11544 super(parent, invokingState);
11545 }
11546 @Override public int getRuleIndex() { return RULE_createView; }
11547 @Override
11548 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11549 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateView(this);
11550 else return visitor.visitChildren(this);
11551 }
11552 }
11553
11554 public final CreateViewContext createView() throws RecognitionException {
11555 CreateViewContext _localctx = new CreateViewContext(_ctx, getState());
11556 enterRule(_localctx, 242, RULE_createView);
11557 int _la;
11558 try {
11559 enterOuterAlt(_localctx, 1);
11560 {
11561 setState(1937);
11562 match(CREATE);
11563 setState(1940);
11564 _errHandler.sync(this);
11565 _la = _input.LA(1);
11566 if (_la==OR) {
11567 {
11568 setState(1938);
11569 match(OR);
11570 setState(1939);
11571 match(ALTER);
11572 }
11573 }
11574
11575 setState(1942);
11576 match(VIEW);
11577 setState(1943);
11578 viewName();
11579 setState(1944);
11580 createOrAlterViewClause();
11581 }
11582 }
11583 catch (RecognitionException re) {
11584 _localctx.exception = re;
11585 _errHandler.reportError(this, re);
11586 _errHandler.recover(this, re);
11587 }
11588 finally {
11589 exitRule();
11590 }
11591 return _localctx;
11592 }
11593
11594 public static class CreateTriggerContext extends ParserRuleContext {
11595 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11596 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
11597 public TriggerNameContext triggerName() {
11598 return getRuleContext(TriggerNameContext.class,0);
11599 }
11600 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11601 public TriggerTargetContext triggerTarget() {
11602 return getRuleContext(TriggerTargetContext.class,0);
11603 }
11604 public CreateTriggerClauseContext createTriggerClause() {
11605 return getRuleContext(CreateTriggerClauseContext.class,0);
11606 }
11607 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
11608 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
11609 public CreateTriggerContext(ParserRuleContext parent, int invokingState) {
11610 super(parent, invokingState);
11611 }
11612 @Override public int getRuleIndex() { return RULE_createTrigger; }
11613 @Override
11614 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11615 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTrigger(this);
11616 else return visitor.visitChildren(this);
11617 }
11618 }
11619
11620 public final CreateTriggerContext createTrigger() throws RecognitionException {
11621 CreateTriggerContext _localctx = new CreateTriggerContext(_ctx, getState());
11622 enterRule(_localctx, 244, RULE_createTrigger);
11623 int _la;
11624 try {
11625 enterOuterAlt(_localctx, 1);
11626 {
11627 setState(1946);
11628 match(CREATE);
11629 setState(1949);
11630 _errHandler.sync(this);
11631 _la = _input.LA(1);
11632 if (_la==OR) {
11633 {
11634 setState(1947);
11635 match(OR);
11636 setState(1948);
11637 match(ALTER);
11638 }
11639 }
11640
11641 setState(1951);
11642 match(TRIGGER);
11643 setState(1952);
11644 triggerName();
11645 setState(1953);
11646 match(ON);
11647 setState(1954);
11648 triggerTarget();
11649 setState(1955);
11650 createTriggerClause();
11651 }
11652 }
11653 catch (RecognitionException re) {
11654 _localctx.exception = re;
11655 _errHandler.reportError(this, re);
11656 _errHandler.recover(this, re);
11657 }
11658 finally {
11659 exitRule();
11660 }
11661 return _localctx;
11662 }
11663
11664 public static class CreateSequenceContext extends ParserRuleContext {
11665 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11666 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
11667 public SequenceNameContext sequenceName() {
11668 return getRuleContext(SequenceNameContext.class,0);
11669 }
11670 public List<CreateOrAlterSequenceClauseContext> createOrAlterSequenceClause() {
11671 return getRuleContexts(CreateOrAlterSequenceClauseContext.class);
11672 }
11673 public CreateOrAlterSequenceClauseContext createOrAlterSequenceClause(int i) {
11674 return getRuleContext(CreateOrAlterSequenceClauseContext.class,i);
11675 }
11676 public CreateSequenceContext(ParserRuleContext parent, int invokingState) {
11677 super(parent, invokingState);
11678 }
11679 @Override public int getRuleIndex() { return RULE_createSequence; }
11680 @Override
11681 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11682 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateSequence(this);
11683 else return visitor.visitChildren(this);
11684 }
11685 }
11686
11687 public final CreateSequenceContext createSequence() throws RecognitionException {
11688 CreateSequenceContext _localctx = new CreateSequenceContext(_ctx, getState());
11689 enterRule(_localctx, 246, RULE_createSequence);
11690 int _la;
11691 try {
11692 enterOuterAlt(_localctx, 1);
11693 {
11694 setState(1957);
11695 match(CREATE);
11696 setState(1958);
11697 match(SEQUENCE);
11698 setState(1959);
11699 sequenceName();
11700 setState(1963);
11701 _errHandler.sync(this);
11702 _la = _input.LA(1);
11703 while (_la==AS || _la==NO || _la==START || ((((_la - 524)) & ~0x3f) == 0 && ((1L << (_la - 524)) & ((1L << (INCREMENT - 524)) | (1L << (CYCLE - 524)) | (1L << (CACHE - 524)) | (1L << (MINVALUE - 524)) | (1L << (MAXVALUE - 524)) | (1L << (RESTART - 524)))) != 0)) {
11704 {
11705 {
11706 setState(1960);
11707 createOrAlterSequenceClause();
11708 }
11709 }
11710 setState(1965);
11711 _errHandler.sync(this);
11712 _la = _input.LA(1);
11713 }
11714 }
11715 }
11716 catch (RecognitionException re) {
11717 _localctx.exception = re;
11718 _errHandler.reportError(this, re);
11719 _errHandler.recover(this, re);
11720 }
11721 finally {
11722 exitRule();
11723 }
11724 return _localctx;
11725 }
11726
11727 public static class CreateServiceContext extends ParserRuleContext {
11728 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11729 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
11730 public ServiceNameContext serviceName() {
11731 return getRuleContext(ServiceNameContext.class,0);
11732 }
11733 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11734 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
11735 public QueueNameContext queueName() {
11736 return getRuleContext(QueueNameContext.class,0);
11737 }
11738 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
11739 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
11740 public CreateServiceClauseContext createServiceClause() {
11741 return getRuleContext(CreateServiceClauseContext.class,0);
11742 }
11743 public CreateServiceContext(ParserRuleContext parent, int invokingState) {
11744 super(parent, invokingState);
11745 }
11746 @Override public int getRuleIndex() { return RULE_createService; }
11747 @Override
11748 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11749 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateService(this);
11750 else return visitor.visitChildren(this);
11751 }
11752 }
11753
11754 public final CreateServiceContext createService() throws RecognitionException {
11755 CreateServiceContext _localctx = new CreateServiceContext(_ctx, getState());
11756 enterRule(_localctx, 248, RULE_createService);
11757 int _la;
11758 try {
11759 enterOuterAlt(_localctx, 1);
11760 {
11761 setState(1966);
11762 match(CREATE);
11763 setState(1967);
11764 match(SERVICE);
11765 setState(1968);
11766 serviceName();
11767 setState(1971);
11768 _errHandler.sync(this);
11769 _la = _input.LA(1);
11770 if (_la==AUTHORIZATION) {
11771 {
11772 setState(1969);
11773 match(AUTHORIZATION);
11774 setState(1970);
11775 match(STRING_);
11776 }
11777 }
11778
11779 setState(1973);
11780 match(ON);
11781 setState(1974);
11782 match(QUEUE);
11783 setState(1975);
11784 queueName();
11785 setState(1977);
11786 _errHandler.sync(this);
11787 _la = _input.LA(1);
11788 if (_la==LP_) {
11789 {
11790 setState(1976);
11791 createServiceClause();
11792 }
11793 }
11794
11795 }
11796 }
11797 catch (RecognitionException re) {
11798 _localctx.exception = re;
11799 _errHandler.reportError(this, re);
11800 _errHandler.recover(this, re);
11801 }
11802 finally {
11803 exitRule();
11804 }
11805 return _localctx;
11806 }
11807
11808 public static class CreateSchemaContext extends ParserRuleContext {
11809 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11810 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
11811 public SchemaNameClauseContext schemaNameClause() {
11812 return getRuleContext(SchemaNameClauseContext.class,0);
11813 }
11814 public List<SchemaElementContext> schemaElement() {
11815 return getRuleContexts(SchemaElementContext.class);
11816 }
11817 public SchemaElementContext schemaElement(int i) {
11818 return getRuleContext(SchemaElementContext.class,i);
11819 }
11820 public CreateSchemaContext(ParserRuleContext parent, int invokingState) {
11821 super(parent, invokingState);
11822 }
11823 @Override public int getRuleIndex() { return RULE_createSchema; }
11824 @Override
11825 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11826 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateSchema(this);
11827 else return visitor.visitChildren(this);
11828 }
11829 }
11830
11831 public final CreateSchemaContext createSchema() throws RecognitionException {
11832 CreateSchemaContext _localctx = new CreateSchemaContext(_ctx, getState());
11833 enterRule(_localctx, 250, RULE_createSchema);
11834 int _la;
11835 try {
11836 enterOuterAlt(_localctx, 1);
11837 {
11838 setState(1979);
11839 match(CREATE);
11840 setState(1980);
11841 match(SCHEMA);
11842 setState(1981);
11843 schemaNameClause();
11844 setState(1985);
11845 _errHandler.sync(this);
11846 _la = _input.LA(1);
11847 while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << CREATE) | (1L << GRANT) | (1L << REVOKE))) != 0) || _la==DENY) {
11848 {
11849 {
11850 setState(1982);
11851 schemaElement();
11852 }
11853 }
11854 setState(1987);
11855 _errHandler.sync(this);
11856 _la = _input.LA(1);
11857 }
11858 }
11859 }
11860 catch (RecognitionException re) {
11861 _localctx.exception = re;
11862 _errHandler.reportError(this, re);
11863 _errHandler.recover(this, re);
11864 }
11865 finally {
11866 exitRule();
11867 }
11868 return _localctx;
11869 }
11870
11871 public static class AlterTableContext extends ParserRuleContext {
11872 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
11873 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
11874 public TableNameContext tableName() {
11875 return getRuleContext(TableNameContext.class,0);
11876 }
11877 public List<AlterDefinitionClauseContext> alterDefinitionClause() {
11878 return getRuleContexts(AlterDefinitionClauseContext.class);
11879 }
11880 public AlterDefinitionClauseContext alterDefinitionClause(int i) {
11881 return getRuleContext(AlterDefinitionClauseContext.class,i);
11882 }
11883 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
11884 public TerminalNode COMMA_(int i) {
11885 return getToken(SQLServerStatementParser.COMMA_, i);
11886 }
11887 public AlterTableContext(ParserRuleContext parent, int invokingState) {
11888 super(parent, invokingState);
11889 }
11890 @Override public int getRuleIndex() { return RULE_alterTable; }
11891 @Override
11892 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11893 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTable(this);
11894 else return visitor.visitChildren(this);
11895 }
11896 }
11897
11898 public final AlterTableContext alterTable() throws RecognitionException {
11899 AlterTableContext _localctx = new AlterTableContext(_ctx, getState());
11900 enterRule(_localctx, 252, RULE_alterTable);
11901 int _la;
11902 try {
11903 enterOuterAlt(_localctx, 1);
11904 {
11905 setState(1988);
11906 match(ALTER);
11907 setState(1989);
11908 match(TABLE);
11909 setState(1990);
11910 tableName();
11911 setState(1991);
11912 alterDefinitionClause();
11913 setState(1996);
11914 _errHandler.sync(this);
11915 _la = _input.LA(1);
11916 while (_la==COMMA_) {
11917 {
11918 {
11919 setState(1992);
11920 match(COMMA_);
11921 setState(1993);
11922 alterDefinitionClause();
11923 }
11924 }
11925 setState(1998);
11926 _errHandler.sync(this);
11927 _la = _input.LA(1);
11928 }
11929 }
11930 }
11931 catch (RecognitionException re) {
11932 _localctx.exception = re;
11933 _errHandler.reportError(this, re);
11934 _errHandler.recover(this, re);
11935 }
11936 finally {
11937 exitRule();
11938 }
11939 return _localctx;
11940 }
11941
11942 public static class AlterIndexContext extends ParserRuleContext {
11943 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
11944 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
11945 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11946 public TableNameContext tableName() {
11947 return getRuleContext(TableNameContext.class,0);
11948 }
11949 public AlterIndexClauseContext alterIndexClause() {
11950 return getRuleContext(AlterIndexClauseContext.class,0);
11951 }
11952 public IndexNameContext indexName() {
11953 return getRuleContext(IndexNameContext.class,0);
11954 }
11955 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
11956 public AlterIndexContext(ParserRuleContext parent, int invokingState) {
11957 super(parent, invokingState);
11958 }
11959 @Override public int getRuleIndex() { return RULE_alterIndex; }
11960 @Override
11961 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11962 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterIndex(this);
11963 else return visitor.visitChildren(this);
11964 }
11965 }
11966
11967 public final AlterIndexContext alterIndex() throws RecognitionException {
11968 AlterIndexContext _localctx = new AlterIndexContext(_ctx, getState());
11969 enterRule(_localctx, 254, RULE_alterIndex);
11970 try {
11971 enterOuterAlt(_localctx, 1);
11972 {
11973 setState(1999);
11974 match(ALTER);
11975 setState(2000);
11976 match(INDEX);
11977 setState(2003);
11978 _errHandler.sync(this);
11979 switch (_input.LA(1)) {
11980 case TRUNCATE:
11981 case SCHEMA:
11982 case COLUMNS:
11983 case PRECISION:
11984 case FUNCTION:
11985 case TRIGGER:
11986 case CAST:
11987 case SUBSTRING:
11988 case OFF:
11989 case GROUP:
11990 case LIMIT:
11991 case OFFSET:
11992 case SAVEPOINT:
11993 case BOOLEAN:
11994 case ARRAY:
11995 case DATE:
11996 case LOCALTIME:
11997 case LOCALTIMESTAMP:
11998 case QUARTER:
11999 case WEEK:
12000 case DAY:
12001 case SECOND:
12002 case MICROSECOND:
12003 case MAX:
12004 case MIN:
12005 case SUM:
12006 case COUNT:
12007 case AVG:
12008 case ENABLE:
12009 case DISABLE:
12010 case INSTANCE:
12011 case DO:
12012 case DEFINER:
12013 case SQL:
12014 case CASCADED:
12015 case LOCAL:
12016 case NEXT:
12017 case NAME:
12018 case INTEGER:
12019 case TYPE:
12020 case TEXT:
12021 case VIEWS:
12022 case READ_ONLY:
12023 case DATABASE:
12024 case RETURNS:
12025 case DATEPART:
12026 case PASSWORD:
12027 case BINARY:
12028 case HIDDEN_:
12029 case MOD:
12030 case PARTITION:
12031 case PARTITIONS:
12032 case TOP:
12033 case ROW:
12034 case ROWS:
12035 case XOR:
12036 case ALWAYS:
12037 case ROLE:
12038 case START:
12039 case ALGORITHM:
12040 case AUTO:
12041 case BLOCKERS:
12042 case CLUSTERED:
12043 case NONCLUSTERED:
12044 case COLUMNSTORE:
12045 case CONTENT:
12046 case YEARS:
12047 case MONTHS:
12048 case WEEKS:
12049 case DAYS:
12050 case MINUTES:
12051 case DENY:
12052 case DETERMINISTIC:
12053 case DISTRIBUTION:
12054 case DOCUMENT:
12055 case DURABILITY:
12056 case ENCRYPTED:
12057 case FILESTREAM:
12058 case FILETABLE:
12059 case FILLFACTOR:
12060 case FOLLOWING:
12061 case HASH:
12062 case HEAP:
12063 case INBOUND:
12064 case OUTBOUND:
12065 case UNBOUNDED:
12066 case INFINITE:
12067 case LOGIN:
12068 case MASKED:
12069 case MAXDOP:
12070 case MOVE:
12071 case NOCHECK:
12072 case OBJECT:
12073 case ONLINE:
12074 case OVER:
12075 case PAGE:
12076 case PAUSED:
12077 case PERIOD:
12078 case PERSISTED:
12079 case PRECEDING:
12080 case RANDOMIZED:
12081 case RANGE:
12082 case REBUILD:
12083 case REPLICATE:
12084 case REPLICATION:
12085 case RESUMABLE:
12086 case ROWGUIDCOL:
12087 case SAVE:
12088 case SELF:
12089 case SPARSE:
12090 case SWITCH:
12091 case TRAN:
12092 case TRANCOUNT:
12093 case CONTROL:
12094 case CONCAT:
12095 case TAKE:
12096 case OWNERSHIP:
12097 case DEFINITION:
12098 case APPLICATION:
12099 case ASSEMBLY:
12100 case SYMMETRIC:
12101 case ASYMMETRIC:
12102 case SERVER:
12103 case RECEIVE:
12104 case CHANGE:
12105 case TRACE:
12106 case TRACKING:
12107 case RESOURCES:
12108 case SETTINGS:
12109 case STATE:
12110 case AVAILABILITY:
12111 case CREDENTIAL:
12112 case ENDPOINT:
12113 case EVENT:
12114 case NOTIFICATION:
12115 case LINKED:
12116 case AUDIT:
12117 case DDL:
12118 case XML:
12119 case IMPERSONATE:
12120 case SECURABLES:
12121 case AUTHENTICATE:
12122 case EXTERNAL:
12123 case ACCESS:
12124 case ADMINISTER:
12125 case BULK:
12126 case OPERATIONS:
12127 case UNSAFE:
12128 case SHUTDOWN:
12129 case SCOPED:
12130 case CONFIGURATION:
12131 case DATASPACE:
12132 case SERVICE:
12133 case CERTIFICATE:
12134 case CONTRACT:
12135 case ENCRYPTION:
12136 case MASTER:
12137 case DATA:
12138 case SOURCE:
12139 case FILE:
12140 case FORMAT:
12141 case LIBRARY:
12142 case FULLTEXT:
12143 case MASK:
12144 case UNMASK:
12145 case MESSAGE:
12146 case REMOTE:
12147 case BINDING:
12148 case ROUTE:
12149 case SECURITY:
12150 case POLICY:
12151 case AGGREGATE:
12152 case QUEUE:
12153 case RULE:
12154 case SYNONYM:
12155 case COLLECTION:
12156 case SCRIPT:
12157 case KILL:
12158 case BACKUP:
12159 case LOG:
12160 case SHOWPLAN:
12161 case SUBSCRIBE:
12162 case QUERY:
12163 case NOTIFICATIONS:
12164 case CHECKPOINT:
12165 case SEQUENCE:
12166 case ABORT_AFTER_WAIT:
12167 case ALLOW_PAGE_LOCKS:
12168 case ALLOW_ROW_LOCKS:
12169 case ALL_SPARSE_COLUMNS:
12170 case BUCKET_COUNT:
12171 case COLUMNSTORE_ARCHIVE:
12172 case COLUMN_ENCRYPTION_KEY:
12173 case COLUMN_SET:
12174 case COMPRESSION_DELAY:
12175 case DATABASE_DEAULT:
12176 case DATA_COMPRESSION:
12177 case DATA_CONSISTENCY_CHECK:
12178 case ENCRYPTION_TYPE:
12179 case SYSTEM_TIME:
12180 case SYSTEM_VERSIONING:
12181 case TEXTIMAGE_ON:
12182 case WAIT_AT_LOW_PRIORITY:
12183 case STATISTICS_INCREMENTAL:
12184 case STATISTICS_NORECOMPUTE:
12185 case ROUND_ROBIN:
12186 case SCHEMA_AND_DATA:
12187 case SCHEMA_ONLY:
12188 case SORT_IN_TEMPDB:
12189 case IGNORE_DUP_KEY:
12190 case IMPLICIT_TRANSACTIONS:
12191 case MAX_DURATION:
12192 case MEMORY_OPTIMIZED:
12193 case MIGRATION_STATE:
12194 case PAD_INDEX:
12195 case REMOTE_DATA_ARCHIVE:
12196 case FILESTREAM_ON:
12197 case FILETABLE_COLLATE_FILENAME:
12198 case FILETABLE_DIRECTORY:
12199 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
12200 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
12201 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
12202 case FILTER_PREDICATE:
12203 case HISTORY_RETENTION_PERIOD:
12204 case HISTORY_TABLE:
12205 case LOCK_ESCALATION:
12206 case DROP_EXISTING:
12207 case ROW_NUMBER:
12208 case FIRST:
12209 case DATETIME2:
12210 case OUTPUT:
12211 case INSERTED:
12212 case DELETED:
12213 case FILENAME:
12214 case MAXSIZE:
12215 case FILEGROWTH:
12216 case UNLIMITED:
12217 case KB:
12218 case MB:
12219 case GB:
12220 case TB:
12221 case MEMORY_OPTIMIZED_DATA:
12222 case FILEGROUP:
12223 case NON_TRANSACTED_ACCESS:
12224 case DB_CHAINING:
12225 case TRUSTWORTHY:
12226 case FORWARD_ONLY:
12227 case KEYSET:
12228 case FAST_FORWARD:
12229 case SCROLL_LOCKS:
12230 case OPTIMISTIC:
12231 case TYPE_WARNING:
12232 case SCHEMABINDING:
12233 case CALLER:
12234 case OWNER:
12235 case SNAPSHOT:
12236 case REPEATABLE:
12237 case SERIALIZABLE:
12238 case NATIVE_COMPILATION:
12239 case VIEW_METADATA:
12240 case INSTEAD:
12241 case APPEND:
12242 case INCREMENT:
12243 case CACHE:
12244 case MINVALUE:
12245 case MAXVALUE:
12246 case RESTART:
12247 case LOB_COMPACTION:
12248 case COMPRESS_ALL_ROW_GROUPS:
12249 case REORGANIZE:
12250 case RESUME:
12251 case PAUSE:
12252 case ABORT:
12253 case ACCELERATED_DATABASE_RECOVERY:
12254 case PERSISTENT_VERSION_STORE_FILEGROUP:
12255 case IMMEDIATE:
12256 case NO_WAIT:
12257 case TARGET_RECOVERY_TIME:
12258 case SECONDS:
12259 case HONOR_BROKER_PRIORITY:
12260 case ERROR_BROKER_CONVERSATIONS:
12261 case NEW_BROKER:
12262 case DISABLE_BROKER:
12263 case ENABLE_BROKER:
12264 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
12265 case READ_COMMITTED_SNAPSHOT:
12266 case ALLOW_SNAPSHOT_ISOLATION:
12267 case RECURSIVE_TRIGGERS:
12268 case QUOTED_IDENTIFIER:
12269 case NUMERIC_ROUNDABORT:
12270 case CONCAT_NULL_YIELDS_NULL:
12271 case COMPATIBILITY_LEVEL:
12272 case ARITHABORT:
12273 case ANSI_WARNINGS:
12274 case ANSI_PADDING:
12275 case ANSI_NULLS:
12276 case ANSI_NULL_DEFAULT:
12277 case PAGE_VERIFY:
12278 case CHECKSUM:
12279 case TORN_PAGE_DETECTION:
12280 case BULK_LOGGED:
12281 case RECOVERY:
12282 case TOTAL_EXECUTION_CPU_TIME_MS:
12283 case TOTAL_COMPILE_CPU_TIME_MS:
12284 case STALE_CAPTURE_POLICY_THRESHOLD:
12285 case EXECUTION_COUNT:
12286 case QUERY_CAPTURE_POLICY:
12287 case WAIT_STATS_CAPTURE_MODE:
12288 case MAX_PLANS_PER_QUERY:
12289 case QUERY_CAPTURE_MODE:
12290 case SIZE_BASED_CLEANUP_MODE:
12291 case INTERVAL_LENGTH_MINUTES:
12292 case MAX_STORAGE_SIZE_MB:
12293 case DATA_FLUSH_INTERVAL_SECONDS:
12294 case CLEANUP_POLICY:
12295 case CUSTOM:
12296 case STALE_QUERY_THRESHOLD_DAYS:
12297 case OPERATION_MODE:
12298 case QUERY_STORE:
12299 case CURSOR_DEFAULT:
12300 case GLOBAL:
12301 case CURSOR_CLOSE_ON_COMMIT:
12302 case HOURS:
12303 case CHANGE_RETENTION:
12304 case AUTO_CLEANUP:
12305 case CHANGE_TRACKING:
12306 case AUTOMATIC_TUNING:
12307 case FORCE_LAST_GOOD_PLAN:
12308 case AUTO_UPDATE_STATISTICS_ASYNC:
12309 case AUTO_UPDATE_STATISTICS:
12310 case AUTO_SHRINK:
12311 case AUTO_CREATE_STATISTICS:
12312 case INCREMENTAL:
12313 case AUTO_CLOSE:
12314 case DATA_RETENTION:
12315 case TEMPORAL_HISTORY_RETENTION:
12316 case EDITION:
12317 case MIXED_PAGE_ALLOCATION:
12318 case DISABLED:
12319 case ALLOWED:
12320 case HADR:
12321 case MULTI_USER:
12322 case RESTRICTED_USER:
12323 case SINGLE_USER:
12324 case OFFLINE:
12325 case EMERGENCY:
12326 case SUSPEND:
12327 case DATE_CORRELATION_OPTIMIZATION:
12328 case ELASTIC_POOL:
12329 case SERVICE_OBJECTIVE:
12330 case DATABASE_NAME:
12331 case ALLOW_CONNECTIONS:
12332 case GEO:
12333 case NAMED:
12334 case DATEFIRST:
12335 case BACKUP_STORAGE_REDUNDANCY:
12336 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
12337 case SECONDARY:
12338 case FAILOVER:
12339 case DEFAULT_FULLTEXT_LANGUAGE:
12340 case DEFAULT_LANGUAGE:
12341 case INLINE:
12342 case NESTED_TRIGGERS:
12343 case TRANSFORM_NOISE_WORDS:
12344 case TWO_DIGIT_YEAR_CUTOFF:
12345 case PERSISTENT_LOG_BUFFER:
12346 case DIRECTORY_NAME:
12347 case DATEFORMAT:
12348 case DELAYED_DURABILITY:
12349 case AUTHORIZATION:
12350 case TRANSFER:
12351 case PROVIDER:
12352 case SEARCH:
12353 case MEMBER:
12354 case IDENTIFIER_:
12355 case DELIMITED_IDENTIFIER_:
12356 {
12357 setState(2001);
12358 indexName();
12359 }
12360 break;
12361 case ALL:
12362 {
12363 setState(2002);
12364 match(ALL);
12365 }
12366 break;
12367 default:
12368 throw new NoViableAltException(this);
12369 }
12370 setState(2005);
12371 match(ON);
12372 setState(2006);
12373 tableName();
12374 setState(2007);
12375 alterIndexClause();
12376 }
12377 }
12378 catch (RecognitionException re) {
12379 _localctx.exception = re;
12380 _errHandler.reportError(this, re);
12381 _errHandler.recover(this, re);
12382 }
12383 finally {
12384 exitRule();
12385 }
12386 return _localctx;
12387 }
12388
12389 public static class AlterDatabaseContext extends ParserRuleContext {
12390 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12391 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
12392 public DatabaseNameContext databaseName() {
12393 return getRuleContext(DatabaseNameContext.class,0);
12394 }
12395 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
12396 public List<AlterDatabaseClauseContext> alterDatabaseClause() {
12397 return getRuleContexts(AlterDatabaseClauseContext.class);
12398 }
12399 public AlterDatabaseClauseContext alterDatabaseClause(int i) {
12400 return getRuleContext(AlterDatabaseClauseContext.class,i);
12401 }
12402 public AlterDatabaseContext(ParserRuleContext parent, int invokingState) {
12403 super(parent, invokingState);
12404 }
12405 @Override public int getRuleIndex() { return RULE_alterDatabase; }
12406 @Override
12407 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12408 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabase(this);
12409 else return visitor.visitChildren(this);
12410 }
12411 }
12412
12413 public final AlterDatabaseContext alterDatabase() throws RecognitionException {
12414 AlterDatabaseContext _localctx = new AlterDatabaseContext(_ctx, getState());
12415 enterRule(_localctx, 256, RULE_alterDatabase);
12416 int _la;
12417 try {
12418 enterOuterAlt(_localctx, 1);
12419 {
12420 setState(2009);
12421 match(ALTER);
12422 setState(2010);
12423 match(DATABASE);
12424 setState(2013);
12425 _errHandler.sync(this);
12426 switch (_input.LA(1)) {
12427 case TRUNCATE:
12428 case SCHEMA:
12429 case COLUMNS:
12430 case PRECISION:
12431 case FUNCTION:
12432 case TRIGGER:
12433 case CAST:
12434 case SUBSTRING:
12435 case OFF:
12436 case GROUP:
12437 case LIMIT:
12438 case OFFSET:
12439 case SAVEPOINT:
12440 case BOOLEAN:
12441 case ARRAY:
12442 case DATE:
12443 case LOCALTIME:
12444 case LOCALTIMESTAMP:
12445 case QUARTER:
12446 case WEEK:
12447 case DAY:
12448 case SECOND:
12449 case MICROSECOND:
12450 case MAX:
12451 case MIN:
12452 case SUM:
12453 case COUNT:
12454 case AVG:
12455 case ENABLE:
12456 case DISABLE:
12457 case INSTANCE:
12458 case DO:
12459 case DEFINER:
12460 case SQL:
12461 case CASCADED:
12462 case LOCAL:
12463 case NEXT:
12464 case NAME:
12465 case INTEGER:
12466 case TYPE:
12467 case TEXT:
12468 case VIEWS:
12469 case READ_ONLY:
12470 case DATABASE:
12471 case RETURNS:
12472 case DATEPART:
12473 case PASSWORD:
12474 case BINARY:
12475 case HIDDEN_:
12476 case MOD:
12477 case PARTITION:
12478 case PARTITIONS:
12479 case TOP:
12480 case ROW:
12481 case ROWS:
12482 case XOR:
12483 case ALWAYS:
12484 case ROLE:
12485 case START:
12486 case ALGORITHM:
12487 case AUTO:
12488 case BLOCKERS:
12489 case CLUSTERED:
12490 case NONCLUSTERED:
12491 case COLUMNSTORE:
12492 case CONTENT:
12493 case YEARS:
12494 case MONTHS:
12495 case WEEKS:
12496 case DAYS:
12497 case MINUTES:
12498 case DENY:
12499 case DETERMINISTIC:
12500 case DISTRIBUTION:
12501 case DOCUMENT:
12502 case DURABILITY:
12503 case ENCRYPTED:
12504 case FILESTREAM:
12505 case FILETABLE:
12506 case FILLFACTOR:
12507 case FOLLOWING:
12508 case HASH:
12509 case HEAP:
12510 case INBOUND:
12511 case OUTBOUND:
12512 case UNBOUNDED:
12513 case INFINITE:
12514 case LOGIN:
12515 case MASKED:
12516 case MAXDOP:
12517 case MOVE:
12518 case NOCHECK:
12519 case OBJECT:
12520 case ONLINE:
12521 case OVER:
12522 case PAGE:
12523 case PAUSED:
12524 case PERIOD:
12525 case PERSISTED:
12526 case PRECEDING:
12527 case RANDOMIZED:
12528 case RANGE:
12529 case REBUILD:
12530 case REPLICATE:
12531 case REPLICATION:
12532 case RESUMABLE:
12533 case ROWGUIDCOL:
12534 case SAVE:
12535 case SELF:
12536 case SPARSE:
12537 case SWITCH:
12538 case TRAN:
12539 case TRANCOUNT:
12540 case CONTROL:
12541 case CONCAT:
12542 case TAKE:
12543 case OWNERSHIP:
12544 case DEFINITION:
12545 case APPLICATION:
12546 case ASSEMBLY:
12547 case SYMMETRIC:
12548 case ASYMMETRIC:
12549 case SERVER:
12550 case RECEIVE:
12551 case CHANGE:
12552 case TRACE:
12553 case TRACKING:
12554 case RESOURCES:
12555 case SETTINGS:
12556 case STATE:
12557 case AVAILABILITY:
12558 case CREDENTIAL:
12559 case ENDPOINT:
12560 case EVENT:
12561 case NOTIFICATION:
12562 case LINKED:
12563 case AUDIT:
12564 case DDL:
12565 case XML:
12566 case IMPERSONATE:
12567 case SECURABLES:
12568 case AUTHENTICATE:
12569 case EXTERNAL:
12570 case ACCESS:
12571 case ADMINISTER:
12572 case BULK:
12573 case OPERATIONS:
12574 case UNSAFE:
12575 case SHUTDOWN:
12576 case SCOPED:
12577 case CONFIGURATION:
12578 case DATASPACE:
12579 case SERVICE:
12580 case CERTIFICATE:
12581 case CONTRACT:
12582 case ENCRYPTION:
12583 case MASTER:
12584 case DATA:
12585 case SOURCE:
12586 case FILE:
12587 case FORMAT:
12588 case LIBRARY:
12589 case FULLTEXT:
12590 case MASK:
12591 case UNMASK:
12592 case MESSAGE:
12593 case REMOTE:
12594 case BINDING:
12595 case ROUTE:
12596 case SECURITY:
12597 case POLICY:
12598 case AGGREGATE:
12599 case QUEUE:
12600 case RULE:
12601 case SYNONYM:
12602 case COLLECTION:
12603 case SCRIPT:
12604 case KILL:
12605 case BACKUP:
12606 case LOG:
12607 case SHOWPLAN:
12608 case SUBSCRIBE:
12609 case QUERY:
12610 case NOTIFICATIONS:
12611 case CHECKPOINT:
12612 case SEQUENCE:
12613 case ABORT_AFTER_WAIT:
12614 case ALLOW_PAGE_LOCKS:
12615 case ALLOW_ROW_LOCKS:
12616 case ALL_SPARSE_COLUMNS:
12617 case BUCKET_COUNT:
12618 case COLUMNSTORE_ARCHIVE:
12619 case COLUMN_ENCRYPTION_KEY:
12620 case COLUMN_SET:
12621 case COMPRESSION_DELAY:
12622 case DATABASE_DEAULT:
12623 case DATA_COMPRESSION:
12624 case DATA_CONSISTENCY_CHECK:
12625 case ENCRYPTION_TYPE:
12626 case SYSTEM_TIME:
12627 case SYSTEM_VERSIONING:
12628 case TEXTIMAGE_ON:
12629 case WAIT_AT_LOW_PRIORITY:
12630 case STATISTICS_INCREMENTAL:
12631 case STATISTICS_NORECOMPUTE:
12632 case ROUND_ROBIN:
12633 case SCHEMA_AND_DATA:
12634 case SCHEMA_ONLY:
12635 case SORT_IN_TEMPDB:
12636 case IGNORE_DUP_KEY:
12637 case IMPLICIT_TRANSACTIONS:
12638 case MAX_DURATION:
12639 case MEMORY_OPTIMIZED:
12640 case MIGRATION_STATE:
12641 case PAD_INDEX:
12642 case REMOTE_DATA_ARCHIVE:
12643 case FILESTREAM_ON:
12644 case FILETABLE_COLLATE_FILENAME:
12645 case FILETABLE_DIRECTORY:
12646 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
12647 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
12648 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
12649 case FILTER_PREDICATE:
12650 case HISTORY_RETENTION_PERIOD:
12651 case HISTORY_TABLE:
12652 case LOCK_ESCALATION:
12653 case DROP_EXISTING:
12654 case ROW_NUMBER:
12655 case FIRST:
12656 case DATETIME2:
12657 case OUTPUT:
12658 case INSERTED:
12659 case DELETED:
12660 case FILENAME:
12661 case MAXSIZE:
12662 case FILEGROWTH:
12663 case UNLIMITED:
12664 case KB:
12665 case MB:
12666 case GB:
12667 case TB:
12668 case MEMORY_OPTIMIZED_DATA:
12669 case FILEGROUP:
12670 case NON_TRANSACTED_ACCESS:
12671 case DB_CHAINING:
12672 case TRUSTWORTHY:
12673 case FORWARD_ONLY:
12674 case KEYSET:
12675 case FAST_FORWARD:
12676 case SCROLL_LOCKS:
12677 case OPTIMISTIC:
12678 case TYPE_WARNING:
12679 case SCHEMABINDING:
12680 case CALLER:
12681 case OWNER:
12682 case SNAPSHOT:
12683 case REPEATABLE:
12684 case SERIALIZABLE:
12685 case NATIVE_COMPILATION:
12686 case VIEW_METADATA:
12687 case INSTEAD:
12688 case APPEND:
12689 case INCREMENT:
12690 case CACHE:
12691 case MINVALUE:
12692 case MAXVALUE:
12693 case RESTART:
12694 case LOB_COMPACTION:
12695 case COMPRESS_ALL_ROW_GROUPS:
12696 case REORGANIZE:
12697 case RESUME:
12698 case PAUSE:
12699 case ABORT:
12700 case ACCELERATED_DATABASE_RECOVERY:
12701 case PERSISTENT_VERSION_STORE_FILEGROUP:
12702 case IMMEDIATE:
12703 case NO_WAIT:
12704 case TARGET_RECOVERY_TIME:
12705 case SECONDS:
12706 case HONOR_BROKER_PRIORITY:
12707 case ERROR_BROKER_CONVERSATIONS:
12708 case NEW_BROKER:
12709 case DISABLE_BROKER:
12710 case ENABLE_BROKER:
12711 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
12712 case READ_COMMITTED_SNAPSHOT:
12713 case ALLOW_SNAPSHOT_ISOLATION:
12714 case RECURSIVE_TRIGGERS:
12715 case QUOTED_IDENTIFIER:
12716 case NUMERIC_ROUNDABORT:
12717 case CONCAT_NULL_YIELDS_NULL:
12718 case COMPATIBILITY_LEVEL:
12719 case ARITHABORT:
12720 case ANSI_WARNINGS:
12721 case ANSI_PADDING:
12722 case ANSI_NULLS:
12723 case ANSI_NULL_DEFAULT:
12724 case PAGE_VERIFY:
12725 case CHECKSUM:
12726 case TORN_PAGE_DETECTION:
12727 case BULK_LOGGED:
12728 case RECOVERY:
12729 case TOTAL_EXECUTION_CPU_TIME_MS:
12730 case TOTAL_COMPILE_CPU_TIME_MS:
12731 case STALE_CAPTURE_POLICY_THRESHOLD:
12732 case EXECUTION_COUNT:
12733 case QUERY_CAPTURE_POLICY:
12734 case WAIT_STATS_CAPTURE_MODE:
12735 case MAX_PLANS_PER_QUERY:
12736 case QUERY_CAPTURE_MODE:
12737 case SIZE_BASED_CLEANUP_MODE:
12738 case INTERVAL_LENGTH_MINUTES:
12739 case MAX_STORAGE_SIZE_MB:
12740 case DATA_FLUSH_INTERVAL_SECONDS:
12741 case CLEANUP_POLICY:
12742 case CUSTOM:
12743 case STALE_QUERY_THRESHOLD_DAYS:
12744 case OPERATION_MODE:
12745 case QUERY_STORE:
12746 case CURSOR_DEFAULT:
12747 case GLOBAL:
12748 case CURSOR_CLOSE_ON_COMMIT:
12749 case HOURS:
12750 case CHANGE_RETENTION:
12751 case AUTO_CLEANUP:
12752 case CHANGE_TRACKING:
12753 case AUTOMATIC_TUNING:
12754 case FORCE_LAST_GOOD_PLAN:
12755 case AUTO_UPDATE_STATISTICS_ASYNC:
12756 case AUTO_UPDATE_STATISTICS:
12757 case AUTO_SHRINK:
12758 case AUTO_CREATE_STATISTICS:
12759 case INCREMENTAL:
12760 case AUTO_CLOSE:
12761 case DATA_RETENTION:
12762 case TEMPORAL_HISTORY_RETENTION:
12763 case EDITION:
12764 case MIXED_PAGE_ALLOCATION:
12765 case DISABLED:
12766 case ALLOWED:
12767 case HADR:
12768 case MULTI_USER:
12769 case RESTRICTED_USER:
12770 case SINGLE_USER:
12771 case OFFLINE:
12772 case EMERGENCY:
12773 case SUSPEND:
12774 case DATE_CORRELATION_OPTIMIZATION:
12775 case ELASTIC_POOL:
12776 case SERVICE_OBJECTIVE:
12777 case DATABASE_NAME:
12778 case ALLOW_CONNECTIONS:
12779 case GEO:
12780 case NAMED:
12781 case DATEFIRST:
12782 case BACKUP_STORAGE_REDUNDANCY:
12783 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
12784 case SECONDARY:
12785 case FAILOVER:
12786 case DEFAULT_FULLTEXT_LANGUAGE:
12787 case DEFAULT_LANGUAGE:
12788 case INLINE:
12789 case NESTED_TRIGGERS:
12790 case TRANSFORM_NOISE_WORDS:
12791 case TWO_DIGIT_YEAR_CUTOFF:
12792 case PERSISTENT_LOG_BUFFER:
12793 case DIRECTORY_NAME:
12794 case DATEFORMAT:
12795 case DELAYED_DURABILITY:
12796 case AUTHORIZATION:
12797 case TRANSFER:
12798 case PROVIDER:
12799 case SEARCH:
12800 case MEMBER:
12801 case IDENTIFIER_:
12802 case DELIMITED_IDENTIFIER_:
12803 {
12804 setState(2011);
12805 databaseName();
12806 }
12807 break;
12808 case CURRENT:
12809 {
12810 setState(2012);
12811 match(CURRENT);
12812 }
12813 break;
12814 default:
12815 throw new NoViableAltException(this);
12816 }
12817 setState(2018);
12818 _errHandler.sync(this);
12819 _la = _input.LA(1);
12820 while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP_) | (1L << ADD) | (1L << SET))) != 0) || ((((_la - 154)) & ~0x3f) == 0 && ((1L << (_la - 154)) & ((1L << (DEFAULT - 154)) | (1L << (NAME - 154)) | (1L << (READ_ONLY - 154)) | (1L << (READONLY - 154)))) != 0) || _la==COLLATE || ((((_la - 540)) & ~0x3f) == 0 && ((1L << (_la - 540)) & ((1L << (REMOVE - 540)) | (1L << (AUTOGROW_SINGLE_FILE - 540)) | (1L << (AUTOGROW_ALL_FILES - 540)) | (1L << (READWRITE - 540)) | (1L << (READ_WRITE - 540)) | (1L << (MODIFY - 540)))) != 0) || _la==FORCE_FAILOVER_ALLOW_DATA_LOSS || _la==FAILOVER) {
12821 {
12822 {
12823 setState(2015);
12824 alterDatabaseClause();
12825 }
12826 }
12827 setState(2020);
12828 _errHandler.sync(this);
12829 _la = _input.LA(1);
12830 }
12831 }
12832 }
12833 catch (RecognitionException re) {
12834 _localctx.exception = re;
12835 _errHandler.reportError(this, re);
12836 _errHandler.recover(this, re);
12837 }
12838 finally {
12839 exitRule();
12840 }
12841 return _localctx;
12842 }
12843
12844 public static class AlterProcedureContext extends ParserRuleContext {
12845 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12846 public ProcedureNameContext procedureName() {
12847 return getRuleContext(ProcedureNameContext.class,0);
12848 }
12849 public ProcParametersContext procParameters() {
12850 return getRuleContext(ProcParametersContext.class,0);
12851 }
12852 public CreateOrAlterProcClauseContext createOrAlterProcClause() {
12853 return getRuleContext(CreateOrAlterProcClauseContext.class,0);
12854 }
12855 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
12856 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
12857 public AlterProcedureContext(ParserRuleContext parent, int invokingState) {
12858 super(parent, invokingState);
12859 }
12860 @Override public int getRuleIndex() { return RULE_alterProcedure; }
12861 @Override
12862 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12863 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterProcedure(this);
12864 else return visitor.visitChildren(this);
12865 }
12866 }
12867
12868 public final AlterProcedureContext alterProcedure() throws RecognitionException {
12869 AlterProcedureContext _localctx = new AlterProcedureContext(_ctx, getState());
12870 enterRule(_localctx, 258, RULE_alterProcedure);
12871 int _la;
12872 try {
12873 enterOuterAlt(_localctx, 1);
12874 {
12875 setState(2021);
12876 match(ALTER);
12877 setState(2022);
12878 _la = _input.LA(1);
12879 if ( !(_la==PROCEDURE || _la==PROC) ) {
12880 _errHandler.recoverInline(this);
12881 }
12882 else {
12883 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
12884 _errHandler.reportMatch(this);
12885 consume();
12886 }
12887 setState(2023);
12888 procedureName();
12889 setState(2024);
12890 procParameters();
12891 setState(2025);
12892 createOrAlterProcClause();
12893 }
12894 }
12895 catch (RecognitionException re) {
12896 _localctx.exception = re;
12897 _errHandler.reportError(this, re);
12898 _errHandler.recover(this, re);
12899 }
12900 finally {
12901 exitRule();
12902 }
12903 return _localctx;
12904 }
12905
12906 public static class AlterFunctionContext extends ParserRuleContext {
12907 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12908 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
12909 public FunctionNameContext functionName() {
12910 return getRuleContext(FunctionNameContext.class,0);
12911 }
12912 public FuncParametersContext funcParameters() {
12913 return getRuleContext(FuncParametersContext.class,0);
12914 }
12915 public FuncReturnsContext funcReturns() {
12916 return getRuleContext(FuncReturnsContext.class,0);
12917 }
12918 public AlterFunctionContext(ParserRuleContext parent, int invokingState) {
12919 super(parent, invokingState);
12920 }
12921 @Override public int getRuleIndex() { return RULE_alterFunction; }
12922 @Override
12923 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12924 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterFunction(this);
12925 else return visitor.visitChildren(this);
12926 }
12927 }
12928
12929 public final AlterFunctionContext alterFunction() throws RecognitionException {
12930 AlterFunctionContext _localctx = new AlterFunctionContext(_ctx, getState());
12931 enterRule(_localctx, 260, RULE_alterFunction);
12932 try {
12933 enterOuterAlt(_localctx, 1);
12934 {
12935 setState(2027);
12936 match(ALTER);
12937 setState(2028);
12938 match(FUNCTION);
12939 setState(2029);
12940 functionName();
12941 setState(2030);
12942 funcParameters();
12943 setState(2031);
12944 funcReturns();
12945 }
12946 }
12947 catch (RecognitionException re) {
12948 _localctx.exception = re;
12949 _errHandler.reportError(this, re);
12950 _errHandler.recover(this, re);
12951 }
12952 finally {
12953 exitRule();
12954 }
12955 return _localctx;
12956 }
12957
12958 public static class AlterViewContext extends ParserRuleContext {
12959 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12960 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
12961 public ViewNameContext viewName() {
12962 return getRuleContext(ViewNameContext.class,0);
12963 }
12964 public CreateOrAlterViewClauseContext createOrAlterViewClause() {
12965 return getRuleContext(CreateOrAlterViewClauseContext.class,0);
12966 }
12967 public AlterViewContext(ParserRuleContext parent, int invokingState) {
12968 super(parent, invokingState);
12969 }
12970 @Override public int getRuleIndex() { return RULE_alterView; }
12971 @Override
12972 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12973 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterView(this);
12974 else return visitor.visitChildren(this);
12975 }
12976 }
12977
12978 public final AlterViewContext alterView() throws RecognitionException {
12979 AlterViewContext _localctx = new AlterViewContext(_ctx, getState());
12980 enterRule(_localctx, 262, RULE_alterView);
12981 try {
12982 enterOuterAlt(_localctx, 1);
12983 {
12984 setState(2033);
12985 match(ALTER);
12986 setState(2034);
12987 match(VIEW);
12988 setState(2035);
12989 viewName();
12990 setState(2036);
12991 createOrAlterViewClause();
12992 }
12993 }
12994 catch (RecognitionException re) {
12995 _localctx.exception = re;
12996 _errHandler.reportError(this, re);
12997 _errHandler.recover(this, re);
12998 }
12999 finally {
13000 exitRule();
13001 }
13002 return _localctx;
13003 }
13004
13005 public static class AlterTriggerContext extends ParserRuleContext {
13006 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13007 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
13008 public TriggerNameContext triggerName() {
13009 return getRuleContext(TriggerNameContext.class,0);
13010 }
13011 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13012 public TriggerTargetContext triggerTarget() {
13013 return getRuleContext(TriggerTargetContext.class,0);
13014 }
13015 public CreateTriggerClauseContext createTriggerClause() {
13016 return getRuleContext(CreateTriggerClauseContext.class,0);
13017 }
13018 public AlterTriggerContext(ParserRuleContext parent, int invokingState) {
13019 super(parent, invokingState);
13020 }
13021 @Override public int getRuleIndex() { return RULE_alterTrigger; }
13022 @Override
13023 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13024 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTrigger(this);
13025 else return visitor.visitChildren(this);
13026 }
13027 }
13028
13029 public final AlterTriggerContext alterTrigger() throws RecognitionException {
13030 AlterTriggerContext _localctx = new AlterTriggerContext(_ctx, getState());
13031 enterRule(_localctx, 264, RULE_alterTrigger);
13032 try {
13033 enterOuterAlt(_localctx, 1);
13034 {
13035 setState(2038);
13036 match(ALTER);
13037 setState(2039);
13038 match(TRIGGER);
13039 setState(2040);
13040 triggerName();
13041 setState(2041);
13042 match(ON);
13043 setState(2042);
13044 triggerTarget();
13045 setState(2043);
13046 createTriggerClause();
13047 }
13048 }
13049 catch (RecognitionException re) {
13050 _localctx.exception = re;
13051 _errHandler.reportError(this, re);
13052 _errHandler.recover(this, re);
13053 }
13054 finally {
13055 exitRule();
13056 }
13057 return _localctx;
13058 }
13059
13060 public static class AlterSequenceContext extends ParserRuleContext {
13061 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13062 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
13063 public SequenceNameContext sequenceName() {
13064 return getRuleContext(SequenceNameContext.class,0);
13065 }
13066 public List<CreateOrAlterSequenceClauseContext> createOrAlterSequenceClause() {
13067 return getRuleContexts(CreateOrAlterSequenceClauseContext.class);
13068 }
13069 public CreateOrAlterSequenceClauseContext createOrAlterSequenceClause(int i) {
13070 return getRuleContext(CreateOrAlterSequenceClauseContext.class,i);
13071 }
13072 public AlterSequenceContext(ParserRuleContext parent, int invokingState) {
13073 super(parent, invokingState);
13074 }
13075 @Override public int getRuleIndex() { return RULE_alterSequence; }
13076 @Override
13077 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13078 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSequence(this);
13079 else return visitor.visitChildren(this);
13080 }
13081 }
13082
13083 public final AlterSequenceContext alterSequence() throws RecognitionException {
13084 AlterSequenceContext _localctx = new AlterSequenceContext(_ctx, getState());
13085 enterRule(_localctx, 266, RULE_alterSequence);
13086 int _la;
13087 try {
13088 enterOuterAlt(_localctx, 1);
13089 {
13090 setState(2045);
13091 match(ALTER);
13092 setState(2046);
13093 match(SEQUENCE);
13094 setState(2047);
13095 sequenceName();
13096 setState(2051);
13097 _errHandler.sync(this);
13098 _la = _input.LA(1);
13099 while (_la==AS || _la==NO || _la==START || ((((_la - 524)) & ~0x3f) == 0 && ((1L << (_la - 524)) & ((1L << (INCREMENT - 524)) | (1L << (CYCLE - 524)) | (1L << (CACHE - 524)) | (1L << (MINVALUE - 524)) | (1L << (MAXVALUE - 524)) | (1L << (RESTART - 524)))) != 0)) {
13100 {
13101 {
13102 setState(2048);
13103 createOrAlterSequenceClause();
13104 }
13105 }
13106 setState(2053);
13107 _errHandler.sync(this);
13108 _la = _input.LA(1);
13109 }
13110 }
13111 }
13112 catch (RecognitionException re) {
13113 _localctx.exception = re;
13114 _errHandler.reportError(this, re);
13115 _errHandler.recover(this, re);
13116 }
13117 finally {
13118 exitRule();
13119 }
13120 return _localctx;
13121 }
13122
13123 public static class AlterServiceContext extends ParserRuleContext {
13124 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13125 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
13126 public ServiceNameContext serviceName() {
13127 return getRuleContext(ServiceNameContext.class,0);
13128 }
13129 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13130 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
13131 public QueueNameContext queueName() {
13132 return getRuleContext(QueueNameContext.class,0);
13133 }
13134 public AlterServiceClauseContext alterServiceClause() {
13135 return getRuleContext(AlterServiceClauseContext.class,0);
13136 }
13137 public AlterServiceContext(ParserRuleContext parent, int invokingState) {
13138 super(parent, invokingState);
13139 }
13140 @Override public int getRuleIndex() { return RULE_alterService; }
13141 @Override
13142 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13143 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterService(this);
13144 else return visitor.visitChildren(this);
13145 }
13146 }
13147
13148 public final AlterServiceContext alterService() throws RecognitionException {
13149 AlterServiceContext _localctx = new AlterServiceContext(_ctx, getState());
13150 enterRule(_localctx, 268, RULE_alterService);
13151 int _la;
13152 try {
13153 enterOuterAlt(_localctx, 1);
13154 {
13155 setState(2054);
13156 match(ALTER);
13157 setState(2055);
13158 match(SERVICE);
13159 setState(2056);
13160 serviceName();
13161 setState(2060);
13162 _errHandler.sync(this);
13163 _la = _input.LA(1);
13164 if (_la==ON) {
13165 {
13166 setState(2057);
13167 match(ON);
13168 setState(2058);
13169 match(QUEUE);
13170 setState(2059);
13171 queueName();
13172 }
13173 }
13174
13175 setState(2063);
13176 _errHandler.sync(this);
13177 _la = _input.LA(1);
13178 if (_la==LP_) {
13179 {
13180 setState(2062);
13181 alterServiceClause();
13182 }
13183 }
13184
13185 }
13186 }
13187 catch (RecognitionException re) {
13188 _localctx.exception = re;
13189 _errHandler.reportError(this, re);
13190 _errHandler.recover(this, re);
13191 }
13192 finally {
13193 exitRule();
13194 }
13195 return _localctx;
13196 }
13197
13198 public static class AlterSchemaContext extends ParserRuleContext {
13199 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13200 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
13201 public SchemaNameContext schemaName() {
13202 return getRuleContext(SchemaNameContext.class,0);
13203 }
13204 public TerminalNode TRANSFER() { return getToken(SQLServerStatementParser.TRANSFER, 0); }
13205 public IgnoredIdentifierContext ignoredIdentifier() {
13206 return getRuleContext(IgnoredIdentifierContext.class,0);
13207 }
13208 public Class_Context class_() {
13209 return getRuleContext(Class_Context.class,0);
13210 }
13211 public AlterSchemaContext(ParserRuleContext parent, int invokingState) {
13212 super(parent, invokingState);
13213 }
13214 @Override public int getRuleIndex() { return RULE_alterSchema; }
13215 @Override
13216 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13217 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSchema(this);
13218 else return visitor.visitChildren(this);
13219 }
13220 }
13221
13222 public final AlterSchemaContext alterSchema() throws RecognitionException {
13223 AlterSchemaContext _localctx = new AlterSchemaContext(_ctx, getState());
13224 enterRule(_localctx, 270, RULE_alterSchema);
13225 try {
13226 enterOuterAlt(_localctx, 1);
13227 {
13228 setState(2065);
13229 match(ALTER);
13230 setState(2066);
13231 match(SCHEMA);
13232 setState(2067);
13233 schemaName();
13234 setState(2068);
13235 match(TRANSFER);
13236 setState(2070);
13237 _errHandler.sync(this);
13238 switch ( getInterpreter().adaptivePredict(_input,126,_ctx) ) {
13239 case 1:
13240 {
13241 setState(2069);
13242 class_();
13243 }
13244 break;
13245 }
13246 setState(2072);
13247 ignoredIdentifier();
13248 }
13249 }
13250 catch (RecognitionException re) {
13251 _localctx.exception = re;
13252 _errHandler.reportError(this, re);
13253 _errHandler.recover(this, re);
13254 }
13255 finally {
13256 exitRule();
13257 }
13258 return _localctx;
13259 }
13260
13261 public static class DropTableContext extends ParserRuleContext {
13262 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13263 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
13264 public TableNamesContext tableNames() {
13265 return getRuleContext(TableNamesContext.class,0);
13266 }
13267 public IfExistsContext ifExists() {
13268 return getRuleContext(IfExistsContext.class,0);
13269 }
13270 public DropTableContext(ParserRuleContext parent, int invokingState) {
13271 super(parent, invokingState);
13272 }
13273 @Override public int getRuleIndex() { return RULE_dropTable; }
13274 @Override
13275 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13276 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropTable(this);
13277 else return visitor.visitChildren(this);
13278 }
13279 }
13280
13281 public final DropTableContext dropTable() throws RecognitionException {
13282 DropTableContext _localctx = new DropTableContext(_ctx, getState());
13283 enterRule(_localctx, 272, RULE_dropTable);
13284 int _la;
13285 try {
13286 enterOuterAlt(_localctx, 1);
13287 {
13288 setState(2074);
13289 match(DROP);
13290 setState(2075);
13291 match(TABLE);
13292 setState(2077);
13293 _errHandler.sync(this);
13294 _la = _input.LA(1);
13295 if (_la==IF) {
13296 {
13297 setState(2076);
13298 ifExists();
13299 }
13300 }
13301
13302 setState(2079);
13303 tableNames();
13304 }
13305 }
13306 catch (RecognitionException re) {
13307 _localctx.exception = re;
13308 _errHandler.reportError(this, re);
13309 _errHandler.recover(this, re);
13310 }
13311 finally {
13312 exitRule();
13313 }
13314 return _localctx;
13315 }
13316
13317 public static class DropIndexContext extends ParserRuleContext {
13318 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13319 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
13320 public IndexNameContext indexName() {
13321 return getRuleContext(IndexNameContext.class,0);
13322 }
13323 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13324 public TableNameContext tableName() {
13325 return getRuleContext(TableNameContext.class,0);
13326 }
13327 public IfExistsContext ifExists() {
13328 return getRuleContext(IfExistsContext.class,0);
13329 }
13330 public DropIndexContext(ParserRuleContext parent, int invokingState) {
13331 super(parent, invokingState);
13332 }
13333 @Override public int getRuleIndex() { return RULE_dropIndex; }
13334 @Override
13335 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13336 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropIndex(this);
13337 else return visitor.visitChildren(this);
13338 }
13339 }
13340
13341 public final DropIndexContext dropIndex() throws RecognitionException {
13342 DropIndexContext _localctx = new DropIndexContext(_ctx, getState());
13343 enterRule(_localctx, 274, RULE_dropIndex);
13344 int _la;
13345 try {
13346 enterOuterAlt(_localctx, 1);
13347 {
13348 setState(2081);
13349 match(DROP);
13350 setState(2082);
13351 match(INDEX);
13352 setState(2084);
13353 _errHandler.sync(this);
13354 _la = _input.LA(1);
13355 if (_la==IF) {
13356 {
13357 setState(2083);
13358 ifExists();
13359 }
13360 }
13361
13362 setState(2086);
13363 indexName();
13364 setState(2087);
13365 match(ON);
13366 setState(2088);
13367 tableName();
13368 }
13369 }
13370 catch (RecognitionException re) {
13371 _localctx.exception = re;
13372 _errHandler.reportError(this, re);
13373 _errHandler.recover(this, re);
13374 }
13375 finally {
13376 exitRule();
13377 }
13378 return _localctx;
13379 }
13380
13381 public static class DropDatabaseContext extends ParserRuleContext {
13382 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13383 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
13384 public List<DatabaseNameContext> databaseName() {
13385 return getRuleContexts(DatabaseNameContext.class);
13386 }
13387 public DatabaseNameContext databaseName(int i) {
13388 return getRuleContext(DatabaseNameContext.class,i);
13389 }
13390 public IfExistsContext ifExists() {
13391 return getRuleContext(IfExistsContext.class,0);
13392 }
13393 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13394 public TerminalNode COMMA_(int i) {
13395 return getToken(SQLServerStatementParser.COMMA_, i);
13396 }
13397 public DropDatabaseContext(ParserRuleContext parent, int invokingState) {
13398 super(parent, invokingState);
13399 }
13400 @Override public int getRuleIndex() { return RULE_dropDatabase; }
13401 @Override
13402 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13403 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropDatabase(this);
13404 else return visitor.visitChildren(this);
13405 }
13406 }
13407
13408 public final DropDatabaseContext dropDatabase() throws RecognitionException {
13409 DropDatabaseContext _localctx = new DropDatabaseContext(_ctx, getState());
13410 enterRule(_localctx, 276, RULE_dropDatabase);
13411 int _la;
13412 try {
13413 enterOuterAlt(_localctx, 1);
13414 {
13415 setState(2090);
13416 match(DROP);
13417 setState(2091);
13418 match(DATABASE);
13419 setState(2093);
13420 _errHandler.sync(this);
13421 _la = _input.LA(1);
13422 if (_la==IF) {
13423 {
13424 setState(2092);
13425 ifExists();
13426 }
13427 }
13428
13429 setState(2095);
13430 databaseName();
13431 setState(2100);
13432 _errHandler.sync(this);
13433 _la = _input.LA(1);
13434 while (_la==COMMA_) {
13435 {
13436 {
13437 setState(2096);
13438 match(COMMA_);
13439 setState(2097);
13440 databaseName();
13441 }
13442 }
13443 setState(2102);
13444 _errHandler.sync(this);
13445 _la = _input.LA(1);
13446 }
13447 }
13448 }
13449 catch (RecognitionException re) {
13450 _localctx.exception = re;
13451 _errHandler.reportError(this, re);
13452 _errHandler.recover(this, re);
13453 }
13454 finally {
13455 exitRule();
13456 }
13457 return _localctx;
13458 }
13459
13460 public static class DropFunctionContext extends ParserRuleContext {
13461 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13462 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
13463 public List<FunctionNameContext> functionName() {
13464 return getRuleContexts(FunctionNameContext.class);
13465 }
13466 public FunctionNameContext functionName(int i) {
13467 return getRuleContext(FunctionNameContext.class,i);
13468 }
13469 public IfExistsContext ifExists() {
13470 return getRuleContext(IfExistsContext.class,0);
13471 }
13472 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13473 public TerminalNode COMMA_(int i) {
13474 return getToken(SQLServerStatementParser.COMMA_, i);
13475 }
13476 public DropFunctionContext(ParserRuleContext parent, int invokingState) {
13477 super(parent, invokingState);
13478 }
13479 @Override public int getRuleIndex() { return RULE_dropFunction; }
13480 @Override
13481 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13482 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropFunction(this);
13483 else return visitor.visitChildren(this);
13484 }
13485 }
13486
13487 public final DropFunctionContext dropFunction() throws RecognitionException {
13488 DropFunctionContext _localctx = new DropFunctionContext(_ctx, getState());
13489 enterRule(_localctx, 278, RULE_dropFunction);
13490 int _la;
13491 try {
13492 enterOuterAlt(_localctx, 1);
13493 {
13494 setState(2103);
13495 match(DROP);
13496 setState(2104);
13497 match(FUNCTION);
13498 setState(2106);
13499 _errHandler.sync(this);
13500 _la = _input.LA(1);
13501 if (_la==IF) {
13502 {
13503 setState(2105);
13504 ifExists();
13505 }
13506 }
13507
13508 setState(2108);
13509 functionName();
13510 setState(2113);
13511 _errHandler.sync(this);
13512 _la = _input.LA(1);
13513 while (_la==COMMA_) {
13514 {
13515 {
13516 setState(2109);
13517 match(COMMA_);
13518 setState(2110);
13519 functionName();
13520 }
13521 }
13522 setState(2115);
13523 _errHandler.sync(this);
13524 _la = _input.LA(1);
13525 }
13526 }
13527 }
13528 catch (RecognitionException re) {
13529 _localctx.exception = re;
13530 _errHandler.reportError(this, re);
13531 _errHandler.recover(this, re);
13532 }
13533 finally {
13534 exitRule();
13535 }
13536 return _localctx;
13537 }
13538
13539 public static class DropProcedureContext extends ParserRuleContext {
13540 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13541 public List<ProcedureNameContext> procedureName() {
13542 return getRuleContexts(ProcedureNameContext.class);
13543 }
13544 public ProcedureNameContext procedureName(int i) {
13545 return getRuleContext(ProcedureNameContext.class,i);
13546 }
13547 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
13548 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
13549 public IfExistsContext ifExists() {
13550 return getRuleContext(IfExistsContext.class,0);
13551 }
13552 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13553 public TerminalNode COMMA_(int i) {
13554 return getToken(SQLServerStatementParser.COMMA_, i);
13555 }
13556 public DropProcedureContext(ParserRuleContext parent, int invokingState) {
13557 super(parent, invokingState);
13558 }
13559 @Override public int getRuleIndex() { return RULE_dropProcedure; }
13560 @Override
13561 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13562 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropProcedure(this);
13563 else return visitor.visitChildren(this);
13564 }
13565 }
13566
13567 public final DropProcedureContext dropProcedure() throws RecognitionException {
13568 DropProcedureContext _localctx = new DropProcedureContext(_ctx, getState());
13569 enterRule(_localctx, 280, RULE_dropProcedure);
13570 int _la;
13571 try {
13572 enterOuterAlt(_localctx, 1);
13573 {
13574 setState(2116);
13575 match(DROP);
13576 setState(2117);
13577 _la = _input.LA(1);
13578 if ( !(_la==PROCEDURE || _la==PROC) ) {
13579 _errHandler.recoverInline(this);
13580 }
13581 else {
13582 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
13583 _errHandler.reportMatch(this);
13584 consume();
13585 }
13586 setState(2119);
13587 _errHandler.sync(this);
13588 _la = _input.LA(1);
13589 if (_la==IF) {
13590 {
13591 setState(2118);
13592 ifExists();
13593 }
13594 }
13595
13596 setState(2121);
13597 procedureName();
13598 setState(2126);
13599 _errHandler.sync(this);
13600 _la = _input.LA(1);
13601 while (_la==COMMA_) {
13602 {
13603 {
13604 setState(2122);
13605 match(COMMA_);
13606 setState(2123);
13607 procedureName();
13608 }
13609 }
13610 setState(2128);
13611 _errHandler.sync(this);
13612 _la = _input.LA(1);
13613 }
13614 }
13615 }
13616 catch (RecognitionException re) {
13617 _localctx.exception = re;
13618 _errHandler.reportError(this, re);
13619 _errHandler.recover(this, re);
13620 }
13621 finally {
13622 exitRule();
13623 }
13624 return _localctx;
13625 }
13626
13627 public static class DropViewContext extends ParserRuleContext {
13628 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13629 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
13630 public List<ViewNameContext> viewName() {
13631 return getRuleContexts(ViewNameContext.class);
13632 }
13633 public ViewNameContext viewName(int i) {
13634 return getRuleContext(ViewNameContext.class,i);
13635 }
13636 public IfExistsContext ifExists() {
13637 return getRuleContext(IfExistsContext.class,0);
13638 }
13639 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13640 public TerminalNode COMMA_(int i) {
13641 return getToken(SQLServerStatementParser.COMMA_, i);
13642 }
13643 public DropViewContext(ParserRuleContext parent, int invokingState) {
13644 super(parent, invokingState);
13645 }
13646 @Override public int getRuleIndex() { return RULE_dropView; }
13647 @Override
13648 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13649 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropView(this);
13650 else return visitor.visitChildren(this);
13651 }
13652 }
13653
13654 public final DropViewContext dropView() throws RecognitionException {
13655 DropViewContext _localctx = new DropViewContext(_ctx, getState());
13656 enterRule(_localctx, 282, RULE_dropView);
13657 int _la;
13658 try {
13659 enterOuterAlt(_localctx, 1);
13660 {
13661 setState(2129);
13662 match(DROP);
13663 setState(2130);
13664 match(VIEW);
13665 setState(2132);
13666 _errHandler.sync(this);
13667 _la = _input.LA(1);
13668 if (_la==IF) {
13669 {
13670 setState(2131);
13671 ifExists();
13672 }
13673 }
13674
13675 setState(2134);
13676 viewName();
13677 setState(2139);
13678 _errHandler.sync(this);
13679 _la = _input.LA(1);
13680 while (_la==COMMA_) {
13681 {
13682 {
13683 setState(2135);
13684 match(COMMA_);
13685 setState(2136);
13686 viewName();
13687 }
13688 }
13689 setState(2141);
13690 _errHandler.sync(this);
13691 _la = _input.LA(1);
13692 }
13693 }
13694 }
13695 catch (RecognitionException re) {
13696 _localctx.exception = re;
13697 _errHandler.reportError(this, re);
13698 _errHandler.recover(this, re);
13699 }
13700 finally {
13701 exitRule();
13702 }
13703 return _localctx;
13704 }
13705
13706 public static class DropTriggerContext extends ParserRuleContext {
13707 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13708 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
13709 public List<TriggerNameContext> triggerName() {
13710 return getRuleContexts(TriggerNameContext.class);
13711 }
13712 public TriggerNameContext triggerName(int i) {
13713 return getRuleContext(TriggerNameContext.class,i);
13714 }
13715 public IfExistsContext ifExists() {
13716 return getRuleContext(IfExistsContext.class,0);
13717 }
13718 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13719 public TerminalNode COMMA_(int i) {
13720 return getToken(SQLServerStatementParser.COMMA_, i);
13721 }
13722 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13723 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
13724 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
13725 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
13726 public DropTriggerContext(ParserRuleContext parent, int invokingState) {
13727 super(parent, invokingState);
13728 }
13729 @Override public int getRuleIndex() { return RULE_dropTrigger; }
13730 @Override
13731 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13732 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropTrigger(this);
13733 else return visitor.visitChildren(this);
13734 }
13735 }
13736
13737 public final DropTriggerContext dropTrigger() throws RecognitionException {
13738 DropTriggerContext _localctx = new DropTriggerContext(_ctx, getState());
13739 enterRule(_localctx, 284, RULE_dropTrigger);
13740 int _la;
13741 try {
13742 enterOuterAlt(_localctx, 1);
13743 {
13744 setState(2142);
13745 match(DROP);
13746 setState(2143);
13747 match(TRIGGER);
13748 setState(2145);
13749 _errHandler.sync(this);
13750 _la = _input.LA(1);
13751 if (_la==IF) {
13752 {
13753 setState(2144);
13754 ifExists();
13755 }
13756 }
13757
13758 setState(2147);
13759 triggerName();
13760 setState(2152);
13761 _errHandler.sync(this);
13762 _la = _input.LA(1);
13763 while (_la==COMMA_) {
13764 {
13765 {
13766 setState(2148);
13767 match(COMMA_);
13768 setState(2149);
13769 triggerName();
13770 }
13771 }
13772 setState(2154);
13773 _errHandler.sync(this);
13774 _la = _input.LA(1);
13775 }
13776 setState(2161);
13777 _errHandler.sync(this);
13778 _la = _input.LA(1);
13779 if (_la==ON) {
13780 {
13781 setState(2155);
13782 match(ON);
13783 setState(2159);
13784 _errHandler.sync(this);
13785 switch (_input.LA(1)) {
13786 case DATABASE:
13787 {
13788 setState(2156);
13789 match(DATABASE);
13790 }
13791 break;
13792 case ALL:
13793 {
13794 setState(2157);
13795 match(ALL);
13796 setState(2158);
13797 match(SERVER);
13798 }
13799 break;
13800 default:
13801 throw new NoViableAltException(this);
13802 }
13803 }
13804 }
13805
13806 }
13807 }
13808 catch (RecognitionException re) {
13809 _localctx.exception = re;
13810 _errHandler.reportError(this, re);
13811 _errHandler.recover(this, re);
13812 }
13813 finally {
13814 exitRule();
13815 }
13816 return _localctx;
13817 }
13818
13819 public static class DropSequenceContext extends ParserRuleContext {
13820 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13821 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
13822 public List<SequenceNameContext> sequenceName() {
13823 return getRuleContexts(SequenceNameContext.class);
13824 }
13825 public SequenceNameContext sequenceName(int i) {
13826 return getRuleContext(SequenceNameContext.class,i);
13827 }
13828 public IfExistsContext ifExists() {
13829 return getRuleContext(IfExistsContext.class,0);
13830 }
13831 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13832 public TerminalNode COMMA_(int i) {
13833 return getToken(SQLServerStatementParser.COMMA_, i);
13834 }
13835 public DropSequenceContext(ParserRuleContext parent, int invokingState) {
13836 super(parent, invokingState);
13837 }
13838 @Override public int getRuleIndex() { return RULE_dropSequence; }
13839 @Override
13840 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13841 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropSequence(this);
13842 else return visitor.visitChildren(this);
13843 }
13844 }
13845
13846 public final DropSequenceContext dropSequence() throws RecognitionException {
13847 DropSequenceContext _localctx = new DropSequenceContext(_ctx, getState());
13848 enterRule(_localctx, 286, RULE_dropSequence);
13849 int _la;
13850 try {
13851 enterOuterAlt(_localctx, 1);
13852 {
13853 setState(2163);
13854 match(DROP);
13855 setState(2164);
13856 match(SEQUENCE);
13857 setState(2166);
13858 _errHandler.sync(this);
13859 _la = _input.LA(1);
13860 if (_la==IF) {
13861 {
13862 setState(2165);
13863 ifExists();
13864 }
13865 }
13866
13867 setState(2168);
13868 sequenceName();
13869 setState(2173);
13870 _errHandler.sync(this);
13871 _la = _input.LA(1);
13872 while (_la==COMMA_) {
13873 {
13874 {
13875 setState(2169);
13876 match(COMMA_);
13877 setState(2170);
13878 sequenceName();
13879 }
13880 }
13881 setState(2175);
13882 _errHandler.sync(this);
13883 _la = _input.LA(1);
13884 }
13885 }
13886 }
13887 catch (RecognitionException re) {
13888 _localctx.exception = re;
13889 _errHandler.reportError(this, re);
13890 _errHandler.recover(this, re);
13891 }
13892 finally {
13893 exitRule();
13894 }
13895 return _localctx;
13896 }
13897
13898 public static class DropServiceContext extends ParserRuleContext {
13899 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13900 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
13901 public ServiceNameContext serviceName() {
13902 return getRuleContext(ServiceNameContext.class,0);
13903 }
13904 public DropServiceContext(ParserRuleContext parent, int invokingState) {
13905 super(parent, invokingState);
13906 }
13907 @Override public int getRuleIndex() { return RULE_dropService; }
13908 @Override
13909 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13910 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropService(this);
13911 else return visitor.visitChildren(this);
13912 }
13913 }
13914
13915 public final DropServiceContext dropService() throws RecognitionException {
13916 DropServiceContext _localctx = new DropServiceContext(_ctx, getState());
13917 enterRule(_localctx, 288, RULE_dropService);
13918 try {
13919 enterOuterAlt(_localctx, 1);
13920 {
13921 setState(2176);
13922 match(DROP);
13923 setState(2177);
13924 match(SERVICE);
13925 setState(2178);
13926 serviceName();
13927 }
13928 }
13929 catch (RecognitionException re) {
13930 _localctx.exception = re;
13931 _errHandler.reportError(this, re);
13932 _errHandler.recover(this, re);
13933 }
13934 finally {
13935 exitRule();
13936 }
13937 return _localctx;
13938 }
13939
13940 public static class DropSchemaContext extends ParserRuleContext {
13941 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13942 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
13943 public SchemaNameContext schemaName() {
13944 return getRuleContext(SchemaNameContext.class,0);
13945 }
13946 public IfExistsContext ifExists() {
13947 return getRuleContext(IfExistsContext.class,0);
13948 }
13949 public DropSchemaContext(ParserRuleContext parent, int invokingState) {
13950 super(parent, invokingState);
13951 }
13952 @Override public int getRuleIndex() { return RULE_dropSchema; }
13953 @Override
13954 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13955 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropSchema(this);
13956 else return visitor.visitChildren(this);
13957 }
13958 }
13959
13960 public final DropSchemaContext dropSchema() throws RecognitionException {
13961 DropSchemaContext _localctx = new DropSchemaContext(_ctx, getState());
13962 enterRule(_localctx, 290, RULE_dropSchema);
13963 int _la;
13964 try {
13965 enterOuterAlt(_localctx, 1);
13966 {
13967 setState(2180);
13968 match(DROP);
13969 setState(2181);
13970 match(SCHEMA);
13971 setState(2183);
13972 _errHandler.sync(this);
13973 _la = _input.LA(1);
13974 if (_la==IF) {
13975 {
13976 setState(2182);
13977 ifExists();
13978 }
13979 }
13980
13981 setState(2185);
13982 schemaName();
13983 }
13984 }
13985 catch (RecognitionException re) {
13986 _localctx.exception = re;
13987 _errHandler.reportError(this, re);
13988 _errHandler.recover(this, re);
13989 }
13990 finally {
13991 exitRule();
13992 }
13993 return _localctx;
13994 }
13995
13996 public static class TruncateTableContext extends ParserRuleContext {
13997 public TerminalNode TRUNCATE() { return getToken(SQLServerStatementParser.TRUNCATE, 0); }
13998 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
13999 public TableNameContext tableName() {
14000 return getRuleContext(TableNameContext.class,0);
14001 }
14002 public TruncateTableContext(ParserRuleContext parent, int invokingState) {
14003 super(parent, invokingState);
14004 }
14005 @Override public int getRuleIndex() { return RULE_truncateTable; }
14006 @Override
14007 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14008 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTruncateTable(this);
14009 else return visitor.visitChildren(this);
14010 }
14011 }
14012
14013 public final TruncateTableContext truncateTable() throws RecognitionException {
14014 TruncateTableContext _localctx = new TruncateTableContext(_ctx, getState());
14015 enterRule(_localctx, 292, RULE_truncateTable);
14016 try {
14017 enterOuterAlt(_localctx, 1);
14018 {
14019 setState(2187);
14020 match(TRUNCATE);
14021 setState(2188);
14022 match(TABLE);
14023 setState(2189);
14024 tableName();
14025 }
14026 }
14027 catch (RecognitionException re) {
14028 _localctx.exception = re;
14029 _errHandler.reportError(this, re);
14030 _errHandler.recover(this, re);
14031 }
14032 finally {
14033 exitRule();
14034 }
14035 return _localctx;
14036 }
14037
14038 public static class UpdateStatisticsContext extends ParserRuleContext {
14039 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
14040 public TerminalNode STATISTICS() { return getToken(SQLServerStatementParser.STATISTICS, 0); }
14041 public TableNameContext tableName() {
14042 return getRuleContext(TableNameContext.class,0);
14043 }
14044 public List<IndexNameContext> indexName() {
14045 return getRuleContexts(IndexNameContext.class);
14046 }
14047 public IndexNameContext indexName(int i) {
14048 return getRuleContext(IndexNameContext.class,i);
14049 }
14050 public StatisticsWithClauseContext statisticsWithClause() {
14051 return getRuleContext(StatisticsWithClauseContext.class,0);
14052 }
14053 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
14054 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14055 public TerminalNode COMMA_(int i) {
14056 return getToken(SQLServerStatementParser.COMMA_, i);
14057 }
14058 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
14059 public UpdateStatisticsContext(ParserRuleContext parent, int invokingState) {
14060 super(parent, invokingState);
14061 }
14062 @Override public int getRuleIndex() { return RULE_updateStatistics; }
14063 @Override
14064 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14065 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUpdateStatistics(this);
14066 else return visitor.visitChildren(this);
14067 }
14068 }
14069
14070 public final UpdateStatisticsContext updateStatistics() throws RecognitionException {
14071 UpdateStatisticsContext _localctx = new UpdateStatisticsContext(_ctx, getState());
14072 enterRule(_localctx, 294, RULE_updateStatistics);
14073 int _la;
14074 try {
14075 enterOuterAlt(_localctx, 1);
14076 {
14077 setState(2191);
14078 match(UPDATE);
14079 setState(2192);
14080 match(STATISTICS);
14081 setState(2193);
14082 tableName();
14083 setState(2208);
14084 _errHandler.sync(this);
14085 _la = _input.LA(1);
14086 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP_) | (1L << TRUNCATE) | (1L << SCHEMA) | (1L << COLUMNS))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (PRECISION - 69)) | (1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CAST - 69)) | (1L << (SUBSTRING - 69)) | (1L << (OFF - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (ARRAY - 133)) | (1L << (DATE - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (QUARTER - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (SECOND - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)) | (1L << (TEXT - 133)) | (1L << (VIEWS - 133)))) != 0) || ((((_la - 203)) & ~0x3f) == 0 && ((1L << (_la - 203)) & ((1L << (READ_ONLY - 203)) | (1L << (DATABASE - 203)) | (1L << (RETURNS - 203)) | (1L << (DATEPART - 203)) | (1L << (PASSWORD - 203)) | (1L << (BINARY - 203)) | (1L << (HIDDEN_ - 203)) | (1L << (MOD - 203)) | (1L << (PARTITION - 203)) | (1L << (PARTITIONS - 203)) | (1L << (TOP - 203)) | (1L << (ROW - 203)) | (1L << (ROWS - 203)) | (1L << (XOR - 203)) | (1L << (ALWAYS - 203)) | (1L << (ROLE - 203)) | (1L << (START - 203)) | (1L << (ALGORITHM - 203)) | (1L << (AUTO - 203)) | (1L << (BLOCKERS - 203)) | (1L << (CLUSTERED - 203)) | (1L << (NONCLUSTERED - 203)) | (1L << (COLUMNSTORE - 203)) | (1L << (CONTENT - 203)) | (1L << (YEARS - 203)) | (1L << (MONTHS - 203)) | (1L << (WEEKS - 203)) | (1L << (DAYS - 203)) | (1L << (MINUTES - 203)) | (1L << (DENY - 203)) | (1L << (DETERMINISTIC - 203)) | (1L << (DISTRIBUTION - 203)) | (1L << (DOCUMENT - 203)) | (1L << (DURABILITY - 203)) | (1L << (ENCRYPTED - 203)) | (1L << (FILESTREAM - 203)) | (1L << (FILETABLE - 203)) | (1L << (FILLFACTOR - 203)) | (1L << (FOLLOWING - 203)) | (1L << (HASH - 203)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (HEAP - 267)) | (1L << (INBOUND - 267)) | (1L << (OUTBOUND - 267)) | (1L << (UNBOUNDED - 267)) | (1L << (INFINITE - 267)) | (1L << (LOGIN - 267)) | (1L << (MASKED - 267)) | (1L << (MAXDOP - 267)) | (1L << (MOVE - 267)) | (1L << (NOCHECK - 267)) | (1L << (OBJECT - 267)) | (1L << (ONLINE - 267)) | (1L << (OVER - 267)) | (1L << (PAGE - 267)) | (1L << (PAUSED - 267)) | (1L << (PERIOD - 267)) | (1L << (PERSISTED - 267)) | (1L << (PRECEDING - 267)) | (1L << (RANDOMIZED - 267)) | (1L << (RANGE - 267)) | (1L << (REBUILD - 267)) | (1L << (REPLICATE - 267)) | (1L << (REPLICATION - 267)) | (1L << (RESUMABLE - 267)) | (1L << (ROWGUIDCOL - 267)) | (1L << (SAVE - 267)) | (1L << (SELF - 267)) | (1L << (SPARSE - 267)) | (1L << (SWITCH - 267)) | (1L << (TRAN - 267)) | (1L << (TRANCOUNT - 267)) | (1L << (CONTROL - 267)) | (1L << (CONCAT - 267)) | (1L << (TAKE - 267)) | (1L << (OWNERSHIP - 267)) | (1L << (DEFINITION - 267)) | (1L << (APPLICATION - 267)) | (1L << (ASSEMBLY - 267)) | (1L << (SYMMETRIC - 267)) | (1L << (ASYMMETRIC - 267)) | (1L << (SERVER - 267)) | (1L << (RECEIVE - 267)) | (1L << (CHANGE - 267)) | (1L << (TRACE - 267)) | (1L << (TRACKING - 267)) | (1L << (RESOURCES - 267)) | (1L << (SETTINGS - 267)) | (1L << (STATE - 267)) | (1L << (AVAILABILITY - 267)) | (1L << (CREDENTIAL - 267)) | (1L << (ENDPOINT - 267)) | (1L << (EVENT - 267)) | (1L << (NOTIFICATION - 267)) | (1L << (LINKED - 267)) | (1L << (AUDIT - 267)))) != 0) || ((((_la - 331)) & ~0x3f) == 0 && ((1L << (_la - 331)) & ((1L << (DDL - 331)) | (1L << (XML - 331)) | (1L << (IMPERSONATE - 331)) | (1L << (SECURABLES - 331)) | (1L << (AUTHENTICATE - 331)) | (1L << (EXTERNAL - 331)) | (1L << (ACCESS - 331)) | (1L << (ADMINISTER - 331)) | (1L << (BULK - 331)) | (1L << (OPERATIONS - 331)) | (1L << (UNSAFE - 331)) | (1L << (SHUTDOWN - 331)) | (1L << (SCOPED - 331)) | (1L << (CONFIGURATION - 331)) | (1L << (DATASPACE - 331)) | (1L << (SERVICE - 331)) | (1L << (CERTIFICATE - 331)) | (1L << (CONTRACT - 331)) | (1L << (ENCRYPTION - 331)) | (1L << (MASTER - 331)) | (1L << (DATA - 331)) | (1L << (SOURCE - 331)) | (1L << (FILE - 331)) | (1L << (FORMAT - 331)) | (1L << (LIBRARY - 331)) | (1L << (FULLTEXT - 331)) | (1L << (MASK - 331)) | (1L << (UNMASK - 331)) | (1L << (MESSAGE - 331)) | (1L << (REMOTE - 331)) | (1L << (BINDING - 331)) | (1L << (ROUTE - 331)) | (1L << (SECURITY - 331)) | (1L << (POLICY - 331)) | (1L << (AGGREGATE - 331)) | (1L << (QUEUE - 331)) | (1L << (RULE - 331)) | (1L << (SYNONYM - 331)) | (1L << (COLLECTION - 331)) | (1L << (SCRIPT - 331)) | (1L << (KILL - 331)) | (1L << (BACKUP - 331)) | (1L << (LOG - 331)) | (1L << (SHOWPLAN - 331)) | (1L << (SUBSCRIBE - 331)) | (1L << (QUERY - 331)) | (1L << (NOTIFICATIONS - 331)) | (1L << (CHECKPOINT - 331)) | (1L << (SEQUENCE - 331)) | (1L << (ABORT_AFTER_WAIT - 331)) | (1L << (ALLOW_PAGE_LOCKS - 331)) | (1L << (ALLOW_ROW_LOCKS - 331)) | (1L << (ALL_SPARSE_COLUMNS - 331)) | (1L << (BUCKET_COUNT - 331)) | (1L << (COLUMNSTORE_ARCHIVE - 331)) | (1L << (COLUMN_ENCRYPTION_KEY - 331)) | (1L << (COLUMN_SET - 331)) | (1L << (COMPRESSION_DELAY - 331)) | (1L << (DATABASE_DEAULT - 331)) | (1L << (DATA_COMPRESSION - 331)) | (1L << (DATA_CONSISTENCY_CHECK - 331)) | (1L << (ENCRYPTION_TYPE - 331)) | (1L << (SYSTEM_TIME - 331)) | (1L << (SYSTEM_VERSIONING - 331)))) != 0) || ((((_la - 395)) & ~0x3f) == 0 && ((1L << (_la - 395)) & ((1L << (TEXTIMAGE_ON - 395)) | (1L << (WAIT_AT_LOW_PRIORITY - 395)) | (1L << (STATISTICS_INCREMENTAL - 395)) | (1L << (STATISTICS_NORECOMPUTE - 395)) | (1L << (ROUND_ROBIN - 395)) | (1L << (SCHEMA_AND_DATA - 395)) | (1L << (SCHEMA_ONLY - 395)) | (1L << (SORT_IN_TEMPDB - 395)) | (1L << (IGNORE_DUP_KEY - 395)) | (1L << (IMPLICIT_TRANSACTIONS - 395)) | (1L << (MAX_DURATION - 395)) | (1L << (MEMORY_OPTIMIZED - 395)) | (1L << (MIGRATION_STATE - 395)) | (1L << (PAD_INDEX - 395)) | (1L << (REMOTE_DATA_ARCHIVE - 395)) | (1L << (FILESTREAM_ON - 395)) | (1L << (FILETABLE_COLLATE_FILENAME - 395)) | (1L << (FILETABLE_DIRECTORY - 395)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILTER_PREDICATE - 395)) | (1L << (HISTORY_RETENTION_PERIOD - 395)) | (1L << (HISTORY_TABLE - 395)) | (1L << (LOCK_ESCALATION - 395)) | (1L << (DROP_EXISTING - 395)) | (1L << (ROW_NUMBER - 395)) | (1L << (FIRST - 395)) | (1L << (DATETIME2 - 395)) | (1L << (OUTPUT - 395)) | (1L << (INSERTED - 395)) | (1L << (DELETED - 395)))) != 0) || ((((_la - 480)) & ~0x3f) == 0 && ((1L << (_la - 480)) & ((1L << (FILENAME - 480)) | (1L << (MAXSIZE - 480)) | (1L << (FILEGROWTH - 480)) | (1L << (UNLIMITED - 480)) | (1L << (KB - 480)) | (1L << (MB - 480)) | (1L << (GB - 480)) | (1L << (TB - 480)) | (1L << (MEMORY_OPTIMIZED_DATA - 480)) | (1L << (FILEGROUP - 480)) | (1L << (NON_TRANSACTED_ACCESS - 480)) | (1L << (DB_CHAINING - 480)) | (1L << (TRUSTWORTHY - 480)) | (1L << (FORWARD_ONLY - 480)) | (1L << (KEYSET - 480)) | (1L << (FAST_FORWARD - 480)) | (1L << (SCROLL_LOCKS - 480)) | (1L << (OPTIMISTIC - 480)) | (1L << (TYPE_WARNING - 480)) | (1L << (SCHEMABINDING - 480)) | (1L << (CALLER - 480)) | (1L << (OWNER - 480)) | (1L << (SNAPSHOT - 480)) | (1L << (REPEATABLE - 480)) | (1L << (SERIALIZABLE - 480)) | (1L << (NATIVE_COMPILATION - 480)) | (1L << (VIEW_METADATA - 480)) | (1L << (INSTEAD - 480)) | (1L << (APPEND - 480)) | (1L << (INCREMENT - 480)) | (1L << (CACHE - 480)) | (1L << (MINVALUE - 480)) | (1L << (MAXVALUE - 480)) | (1L << (RESTART - 480)) | (1L << (LOB_COMPACTION - 480)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 480)) | (1L << (REORGANIZE - 480)) | (1L << (RESUME - 480)) | (1L << (PAUSE - 480)) | (1L << (ABORT - 480)))) != 0) || ((((_la - 546)) & ~0x3f) == 0 && ((1L << (_la - 546)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 546)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 546)) | (1L << (IMMEDIATE - 546)) | (1L << (NO_WAIT - 546)) | (1L << (TARGET_RECOVERY_TIME - 546)) | (1L << (SECONDS - 546)) | (1L << (HONOR_BROKER_PRIORITY - 546)) | (1L << (ERROR_BROKER_CONVERSATIONS - 546)) | (1L << (NEW_BROKER - 546)) | (1L << (DISABLE_BROKER - 546)) | (1L << (ENABLE_BROKER - 546)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 546)) | (1L << (READ_COMMITTED_SNAPSHOT - 546)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 546)) | (1L << (RECURSIVE_TRIGGERS - 546)) | (1L << (QUOTED_IDENTIFIER - 546)) | (1L << (NUMERIC_ROUNDABORT - 546)) | (1L << (CONCAT_NULL_YIELDS_NULL - 546)) | (1L << (COMPATIBILITY_LEVEL - 546)) | (1L << (ARITHABORT - 546)) | (1L << (ANSI_WARNINGS - 546)) | (1L << (ANSI_PADDING - 546)) | (1L << (ANSI_NULLS - 546)) | (1L << (ANSI_NULL_DEFAULT - 546)) | (1L << (PAGE_VERIFY - 546)) | (1L << (CHECKSUM - 546)) | (1L << (TORN_PAGE_DETECTION - 546)) | (1L << (BULK_LOGGED - 546)) | (1L << (RECOVERY - 546)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 546)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 546)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 546)) | (1L << (EXECUTION_COUNT - 546)) | (1L << (QUERY_CAPTURE_POLICY - 546)) | (1L << (WAIT_STATS_CAPTURE_MODE - 546)) | (1L << (MAX_PLANS_PER_QUERY - 546)) | (1L << (QUERY_CAPTURE_MODE - 546)) | (1L << (SIZE_BASED_CLEANUP_MODE - 546)) | (1L << (INTERVAL_LENGTH_MINUTES - 546)) | (1L << (MAX_STORAGE_SIZE_MB - 546)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 546)) | (1L << (CLEANUP_POLICY - 546)) | (1L << (CUSTOM - 546)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 546)) | (1L << (OPERATION_MODE - 546)) | (1L << (QUERY_STORE - 546)) | (1L << (CURSOR_DEFAULT - 546)) | (1L << (GLOBAL - 546)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 546)) | (1L << (HOURS - 546)) | (1L << (CHANGE_RETENTION - 546)) | (1L << (AUTO_CLEANUP - 546)) | (1L << (CHANGE_TRACKING - 546)) | (1L << (AUTOMATIC_TUNING - 546)) | (1L << (FORCE_LAST_GOOD_PLAN - 546)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 546)) | (1L << (AUTO_UPDATE_STATISTICS - 546)) | (1L << (AUTO_SHRINK - 546)) | (1L << (AUTO_CREATE_STATISTICS - 546)) | (1L << (INCREMENTAL - 546)) | (1L << (AUTO_CLOSE - 546)) | (1L << (DATA_RETENTION - 546)) | (1L << (TEMPORAL_HISTORY_RETENTION - 546)) | (1L << (EDITION - 546)))) != 0) || ((((_la - 610)) & ~0x3f) == 0 && ((1L << (_la - 610)) & ((1L << (MIXED_PAGE_ALLOCATION - 610)) | (1L << (DISABLED - 610)) | (1L << (ALLOWED - 610)) | (1L << (HADR - 610)) | (1L << (MULTI_USER - 610)) | (1L << (RESTRICTED_USER - 610)) | (1L << (SINGLE_USER - 610)) | (1L << (OFFLINE - 610)) | (1L << (EMERGENCY - 610)) | (1L << (SUSPEND - 610)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 610)) | (1L << (ELASTIC_POOL - 610)) | (1L << (SERVICE_OBJECTIVE - 610)) | (1L << (DATABASE_NAME - 610)) | (1L << (ALLOW_CONNECTIONS - 610)) | (1L << (GEO - 610)) | (1L << (NAMED - 610)) | (1L << (DATEFIRST - 610)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 610)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 610)) | (1L << (SECONDARY - 610)) | (1L << (FAILOVER - 610)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 610)) | (1L << (DEFAULT_LANGUAGE - 610)) | (1L << (INLINE - 610)) | (1L << (NESTED_TRIGGERS - 610)) | (1L << (TRANSFORM_NOISE_WORDS - 610)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 610)) | (1L << (PERSISTENT_LOG_BUFFER - 610)) | (1L << (DIRECTORY_NAME - 610)) | (1L << (DATEFORMAT - 610)) | (1L << (DELAYED_DURABILITY - 610)) | (1L << (AUTHORIZATION - 610)) | (1L << (TRANSFER - 610)) | (1L << (PROVIDER - 610)) | (1L << (SEARCH - 610)) | (1L << (MEMBER - 610)))) != 0) || _la==IDENTIFIER_ || _la==DELIMITED_IDENTIFIER_) {
14087 {
14088 setState(2195);
14089 _errHandler.sync(this);
14090 _la = _input.LA(1);
14091 if (_la==LP_) {
14092 {
14093 setState(2194);
14094 match(LP_);
14095 }
14096 }
14097
14098 setState(2197);
14099 indexName();
14100 setState(2202);
14101 _errHandler.sync(this);
14102 _la = _input.LA(1);
14103 while (_la==COMMA_) {
14104 {
14105 {
14106 setState(2198);
14107 match(COMMA_);
14108 setState(2199);
14109 indexName();
14110 }
14111 }
14112 setState(2204);
14113 _errHandler.sync(this);
14114 _la = _input.LA(1);
14115 }
14116 setState(2206);
14117 _errHandler.sync(this);
14118 _la = _input.LA(1);
14119 if (_la==RP_) {
14120 {
14121 setState(2205);
14122 match(RP_);
14123 }
14124 }
14125
14126 }
14127 }
14128
14129 setState(2211);
14130 _errHandler.sync(this);
14131 _la = _input.LA(1);
14132 if (_la==WITH) {
14133 {
14134 setState(2210);
14135 statisticsWithClause();
14136 }
14137 }
14138
14139 }
14140 }
14141 catch (RecognitionException re) {
14142 _localctx.exception = re;
14143 _errHandler.reportError(this, re);
14144 _errHandler.recover(this, re);
14145 }
14146 finally {
14147 exitRule();
14148 }
14149 return _localctx;
14150 }
14151
14152 public static class StatisticsWithClauseContext extends ParserRuleContext {
14153 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
14154 public SampleOptionContext sampleOption() {
14155 return getRuleContext(SampleOptionContext.class,0);
14156 }
14157 public StatisticsOptionsContext statisticsOptions() {
14158 return getRuleContext(StatisticsOptionsContext.class,0);
14159 }
14160 public StatisticsWithClauseContext(ParserRuleContext parent, int invokingState) {
14161 super(parent, invokingState);
14162 }
14163 @Override public int getRuleIndex() { return RULE_statisticsWithClause; }
14164 @Override
14165 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14166 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatisticsWithClause(this);
14167 else return visitor.visitChildren(this);
14168 }
14169 }
14170
14171 public final StatisticsWithClauseContext statisticsWithClause() throws RecognitionException {
14172 StatisticsWithClauseContext _localctx = new StatisticsWithClauseContext(_ctx, getState());
14173 enterRule(_localctx, 296, RULE_statisticsWithClause);
14174 int _la;
14175 try {
14176 enterOuterAlt(_localctx, 1);
14177 {
14178 setState(2213);
14179 match(WITH);
14180 setState(2215);
14181 _errHandler.sync(this);
14182 _la = _input.LA(1);
14183 if (((((_la - 687)) & ~0x3f) == 0 && ((1L << (_la - 687)) & ((1L << (FULLSCAN - 687)) | (1L << (SAMPLE - 687)) | (1L << (RESAMPLE - 687)))) != 0)) {
14184 {
14185 setState(2214);
14186 sampleOption();
14187 }
14188 }
14189
14190 setState(2218);
14191 _errHandler.sync(this);
14192 _la = _input.LA(1);
14193 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << COMMA_) | (1L << COLUMNS) | (1L << INDEX))) != 0) || _la==ALL || _la==MAXDOP || _la==INCREMENTAL || _la==NORECOMPUTE || _la==AUTO_DROP) {
14194 {
14195 setState(2217);
14196 statisticsOptions();
14197 }
14198 }
14199
14200 }
14201 }
14202 catch (RecognitionException re) {
14203 _localctx.exception = re;
14204 _errHandler.reportError(this, re);
14205 _errHandler.recover(this, re);
14206 }
14207 finally {
14208 exitRule();
14209 }
14210 return _localctx;
14211 }
14212
14213 public static class SampleOptionContext extends ParserRuleContext {
14214 public TerminalNode FULLSCAN() { return getToken(SQLServerStatementParser.FULLSCAN, 0); }
14215 public TerminalNode PERSIST_SAMPLE_PERCENT() { return getToken(SQLServerStatementParser.PERSIST_SAMPLE_PERCENT, 0); }
14216 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
14217 public TerminalNode SAMPLE() { return getToken(SQLServerStatementParser.SAMPLE, 0); }
14218 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
14219 public TerminalNode NUMBER_(int i) {
14220 return getToken(SQLServerStatementParser.NUMBER_, i);
14221 }
14222 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
14223 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
14224 public TerminalNode PERCENT() { return getToken(SQLServerStatementParser.PERCENT, 0); }
14225 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
14226 public TerminalNode RESAMPLE() { return getToken(SQLServerStatementParser.RESAMPLE, 0); }
14227 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
14228 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
14229 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
14230 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14231 public TerminalNode COMMA_(int i) {
14232 return getToken(SQLServerStatementParser.COMMA_, i);
14233 }
14234 public SampleOptionContext(ParserRuleContext parent, int invokingState) {
14235 super(parent, invokingState);
14236 }
14237 @Override public int getRuleIndex() { return RULE_sampleOption; }
14238 @Override
14239 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14240 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSampleOption(this);
14241 else return visitor.visitChildren(this);
14242 }
14243 }
14244
14245 public final SampleOptionContext sampleOption() throws RecognitionException {
14246 SampleOptionContext _localctx = new SampleOptionContext(_ctx, getState());
14247 enterRule(_localctx, 298, RULE_sampleOption);
14248 int _la;
14249 try {
14250 setState(2246);
14251 _errHandler.sync(this);
14252 switch (_input.LA(1)) {
14253 case FULLSCAN:
14254 case SAMPLE:
14255 enterOuterAlt(_localctx, 1);
14256 {
14257 setState(2224);
14258 _errHandler.sync(this);
14259 switch (_input.LA(1)) {
14260 case FULLSCAN:
14261 {
14262 setState(2220);
14263 match(FULLSCAN);
14264 }
14265 break;
14266 case SAMPLE:
14267 {
14268 {
14269 setState(2221);
14270 match(SAMPLE);
14271 setState(2222);
14272 match(NUMBER_);
14273 setState(2223);
14274 _la = _input.LA(1);
14275 if ( !(_la==PERCENT || _la==ROWS) ) {
14276 _errHandler.recoverInline(this);
14277 }
14278 else {
14279 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
14280 _errHandler.reportMatch(this);
14281 consume();
14282 }
14283 }
14284 }
14285 break;
14286 default:
14287 throw new NoViableAltException(this);
14288 }
14289 setState(2229);
14290 _errHandler.sync(this);
14291 _la = _input.LA(1);
14292 if (_la==PERSIST_SAMPLE_PERCENT) {
14293 {
14294 setState(2226);
14295 match(PERSIST_SAMPLE_PERCENT);
14296 setState(2227);
14297 match(EQ_);
14298 setState(2228);
14299 _la = _input.LA(1);
14300 if ( !(_la==ON || _la==OFF) ) {
14301 _errHandler.recoverInline(this);
14302 }
14303 else {
14304 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
14305 _errHandler.reportMatch(this);
14306 consume();
14307 }
14308 }
14309 }
14310
14311 }
14312 break;
14313 case RESAMPLE:
14314 enterOuterAlt(_localctx, 2);
14315 {
14316 setState(2231);
14317 match(RESAMPLE);
14318 setState(2244);
14319 _errHandler.sync(this);
14320 _la = _input.LA(1);
14321 if (_la==ON) {
14322 {
14323 setState(2232);
14324 match(ON);
14325 setState(2233);
14326 match(PARTITIONS);
14327 setState(2234);
14328 match(LP_);
14329 setState(2235);
14330 match(NUMBER_);
14331 setState(2240);
14332 _errHandler.sync(this);
14333 _la = _input.LA(1);
14334 while (_la==COMMA_) {
14335 {
14336 {
14337 setState(2236);
14338 match(COMMA_);
14339 setState(2237);
14340 match(NUMBER_);
14341 }
14342 }
14343 setState(2242);
14344 _errHandler.sync(this);
14345 _la = _input.LA(1);
14346 }
14347 setState(2243);
14348 match(RP_);
14349 }
14350 }
14351
14352 }
14353 break;
14354 default:
14355 throw new NoViableAltException(this);
14356 }
14357 }
14358 catch (RecognitionException re) {
14359 _localctx.exception = re;
14360 _errHandler.reportError(this, re);
14361 _errHandler.recover(this, re);
14362 }
14363 finally {
14364 exitRule();
14365 }
14366 return _localctx;
14367 }
14368
14369 public static class StatisticsOptionsContext extends ParserRuleContext {
14370 public List<StatisticsOptionContext> statisticsOption() {
14371 return getRuleContexts(StatisticsOptionContext.class);
14372 }
14373 public StatisticsOptionContext statisticsOption(int i) {
14374 return getRuleContext(StatisticsOptionContext.class,i);
14375 }
14376 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14377 public TerminalNode COMMA_(int i) {
14378 return getToken(SQLServerStatementParser.COMMA_, i);
14379 }
14380 public StatisticsOptionsContext(ParserRuleContext parent, int invokingState) {
14381 super(parent, invokingState);
14382 }
14383 @Override public int getRuleIndex() { return RULE_statisticsOptions; }
14384 @Override
14385 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14386 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatisticsOptions(this);
14387 else return visitor.visitChildren(this);
14388 }
14389 }
14390
14391 public final StatisticsOptionsContext statisticsOptions() throws RecognitionException {
14392 StatisticsOptionsContext _localctx = new StatisticsOptionsContext(_ctx, getState());
14393 enterRule(_localctx, 300, RULE_statisticsOptions);
14394 int _la;
14395 try {
14396 enterOuterAlt(_localctx, 1);
14397 {
14398 setState(2252);
14399 _errHandler.sync(this);
14400 _la = _input.LA(1);
14401 do {
14402 {
14403 {
14404 setState(2249);
14405 _errHandler.sync(this);
14406 _la = _input.LA(1);
14407 if (_la==COMMA_) {
14408 {
14409 setState(2248);
14410 match(COMMA_);
14411 }
14412 }
14413
14414 setState(2251);
14415 statisticsOption();
14416 }
14417 }
14418 setState(2254);
14419 _errHandler.sync(this);
14420 _la = _input.LA(1);
14421 } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << COMMA_) | (1L << COLUMNS) | (1L << INDEX))) != 0) || _la==ALL || _la==MAXDOP || _la==INCREMENTAL || _la==NORECOMPUTE || _la==AUTO_DROP );
14422 }
14423 }
14424 catch (RecognitionException re) {
14425 _localctx.exception = re;
14426 _errHandler.reportError(this, re);
14427 _errHandler.recover(this, re);
14428 }
14429 finally {
14430 exitRule();
14431 }
14432 return _localctx;
14433 }
14434
14435 public static class StatisticsOptionContext extends ParserRuleContext {
14436 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
14437 public TerminalNode COLUMNS() { return getToken(SQLServerStatementParser.COLUMNS, 0); }
14438 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
14439 public TerminalNode NORECOMPUTE() { return getToken(SQLServerStatementParser.NORECOMPUTE, 0); }
14440 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
14441 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
14442 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
14443 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
14444 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
14445 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
14446 public TerminalNode AUTO_DROP() { return getToken(SQLServerStatementParser.AUTO_DROP, 0); }
14447 public StatisticsOptionContext(ParserRuleContext parent, int invokingState) {
14448 super(parent, invokingState);
14449 }
14450 @Override public int getRuleIndex() { return RULE_statisticsOption; }
14451 @Override
14452 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14453 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatisticsOption(this);
14454 else return visitor.visitChildren(this);
14455 }
14456 }
14457
14458 public final StatisticsOptionContext statisticsOption() throws RecognitionException {
14459 StatisticsOptionContext _localctx = new StatisticsOptionContext(_ctx, getState());
14460 enterRule(_localctx, 302, RULE_statisticsOption);
14461 int _la;
14462 try {
14463 setState(2269);
14464 _errHandler.sync(this);
14465 switch (_input.LA(1)) {
14466 case ALL:
14467 enterOuterAlt(_localctx, 1);
14468 {
14469 setState(2256);
14470 match(ALL);
14471 }
14472 break;
14473 case COLUMNS:
14474 enterOuterAlt(_localctx, 2);
14475 {
14476 setState(2257);
14477 match(COLUMNS);
14478 }
14479 break;
14480 case INDEX:
14481 enterOuterAlt(_localctx, 3);
14482 {
14483 setState(2258);
14484 match(INDEX);
14485 }
14486 break;
14487 case NORECOMPUTE:
14488 enterOuterAlt(_localctx, 4);
14489 {
14490 setState(2259);
14491 match(NORECOMPUTE);
14492 }
14493 break;
14494 case INCREMENTAL:
14495 enterOuterAlt(_localctx, 5);
14496 {
14497 setState(2260);
14498 match(INCREMENTAL);
14499 setState(2261);
14500 match(EQ_);
14501 setState(2262);
14502 _la = _input.LA(1);
14503 if ( !(_la==ON || _la==OFF) ) {
14504 _errHandler.recoverInline(this);
14505 }
14506 else {
14507 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
14508 _errHandler.reportMatch(this);
14509 consume();
14510 }
14511 }
14512 break;
14513 case MAXDOP:
14514 enterOuterAlt(_localctx, 6);
14515 {
14516 setState(2263);
14517 match(MAXDOP);
14518 setState(2264);
14519 match(EQ_);
14520 setState(2265);
14521 match(NUMBER_);
14522 }
14523 break;
14524 case AUTO_DROP:
14525 enterOuterAlt(_localctx, 7);
14526 {
14527 setState(2266);
14528 match(AUTO_DROP);
14529 setState(2267);
14530 match(EQ_);
14531 setState(2268);
14532 _la = _input.LA(1);
14533 if ( !(_la==ON || _la==OFF) ) {
14534 _errHandler.recoverInline(this);
14535 }
14536 else {
14537 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
14538 _errHandler.reportMatch(this);
14539 consume();
14540 }
14541 }
14542 break;
14543 default:
14544 throw new NoViableAltException(this);
14545 }
14546 }
14547 catch (RecognitionException re) {
14548 _localctx.exception = re;
14549 _errHandler.reportError(this, re);
14550 _errHandler.recover(this, re);
14551 }
14552 finally {
14553 exitRule();
14554 }
14555 return _localctx;
14556 }
14557
14558 public static class FileTableClauseContext extends ParserRuleContext {
14559 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
14560 public TerminalNode FILETABLE() { return getToken(SQLServerStatementParser.FILETABLE, 0); }
14561 public FileTableClauseContext(ParserRuleContext parent, int invokingState) {
14562 super(parent, invokingState);
14563 }
14564 @Override public int getRuleIndex() { return RULE_fileTableClause; }
14565 @Override
14566 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14567 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileTableClause(this);
14568 else return visitor.visitChildren(this);
14569 }
14570 }
14571
14572 public final FileTableClauseContext fileTableClause() throws RecognitionException {
14573 FileTableClauseContext _localctx = new FileTableClauseContext(_ctx, getState());
14574 enterRule(_localctx, 304, RULE_fileTableClause);
14575 int _la;
14576 try {
14577 enterOuterAlt(_localctx, 1);
14578 {
14579 setState(2273);
14580 _errHandler.sync(this);
14581 _la = _input.LA(1);
14582 if (_la==AS) {
14583 {
14584 setState(2271);
14585 match(AS);
14586 setState(2272);
14587 match(FILETABLE);
14588 }
14589 }
14590
14591 }
14592 }
14593 catch (RecognitionException re) {
14594 _localctx.exception = re;
14595 _errHandler.reportError(this, re);
14596 _errHandler.recover(this, re);
14597 }
14598 finally {
14599 exitRule();
14600 }
14601 return _localctx;
14602 }
14603
14604 public static class CreateDefinitionClauseContext extends ParserRuleContext {
14605 public CreateTableDefinitionsContext createTableDefinitions() {
14606 return getRuleContext(CreateTableDefinitionsContext.class,0);
14607 }
14608 public PartitionSchemeContext partitionScheme() {
14609 return getRuleContext(PartitionSchemeContext.class,0);
14610 }
14611 public FileGroupContext fileGroup() {
14612 return getRuleContext(FileGroupContext.class,0);
14613 }
14614 public CreateDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
14615 super(parent, invokingState);
14616 }
14617 @Override public int getRuleIndex() { return RULE_createDefinitionClause; }
14618 @Override
14619 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14620 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDefinitionClause(this);
14621 else return visitor.visitChildren(this);
14622 }
14623 }
14624
14625 public final CreateDefinitionClauseContext createDefinitionClause() throws RecognitionException {
14626 CreateDefinitionClauseContext _localctx = new CreateDefinitionClauseContext(_ctx, getState());
14627 enterRule(_localctx, 306, RULE_createDefinitionClause);
14628 try {
14629 enterOuterAlt(_localctx, 1);
14630 {
14631 setState(2275);
14632 createTableDefinitions();
14633 setState(2276);
14634 partitionScheme();
14635 setState(2277);
14636 fileGroup();
14637 }
14638 }
14639 catch (RecognitionException re) {
14640 _localctx.exception = re;
14641 _errHandler.reportError(this, re);
14642 _errHandler.recover(this, re);
14643 }
14644 finally {
14645 exitRule();
14646 }
14647 return _localctx;
14648 }
14649
14650 public static class CreateTableDefinitionsContext extends ParserRuleContext {
14651 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
14652 public List<CreateTableDefinitionContext> createTableDefinition() {
14653 return getRuleContexts(CreateTableDefinitionContext.class);
14654 }
14655 public CreateTableDefinitionContext createTableDefinition(int i) {
14656 return getRuleContext(CreateTableDefinitionContext.class,i);
14657 }
14658 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
14659 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14660 public TerminalNode COMMA_(int i) {
14661 return getToken(SQLServerStatementParser.COMMA_, i);
14662 }
14663 public PeriodClauseContext periodClause() {
14664 return getRuleContext(PeriodClauseContext.class,0);
14665 }
14666 public CreateTableDefinitionsContext(ParserRuleContext parent, int invokingState) {
14667 super(parent, invokingState);
14668 }
14669 @Override public int getRuleIndex() { return RULE_createTableDefinitions; }
14670 @Override
14671 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14672 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableDefinitions(this);
14673 else return visitor.visitChildren(this);
14674 }
14675 }
14676
14677 public final CreateTableDefinitionsContext createTableDefinitions() throws RecognitionException {
14678 CreateTableDefinitionsContext _localctx = new CreateTableDefinitionsContext(_ctx, getState());
14679 enterRule(_localctx, 308, RULE_createTableDefinitions);
14680 int _la;
14681 try {
14682 int _alt;
14683 enterOuterAlt(_localctx, 1);
14684 {
14685 setState(2279);
14686 match(LP_);
14687 setState(2280);
14688 createTableDefinition();
14689 setState(2285);
14690 _errHandler.sync(this);
14691 _alt = getInterpreter().adaptivePredict(_input,160,_ctx);
14692 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
14693 if ( _alt==1 ) {
14694 {
14695 {
14696 setState(2281);
14697 match(COMMA_);
14698 setState(2282);
14699 createTableDefinition();
14700 }
14701 }
14702 }
14703 setState(2287);
14704 _errHandler.sync(this);
14705 _alt = getInterpreter().adaptivePredict(_input,160,_ctx);
14706 }
14707 setState(2290);
14708 _errHandler.sync(this);
14709 _la = _input.LA(1);
14710 if (_la==COMMA_) {
14711 {
14712 setState(2288);
14713 match(COMMA_);
14714 setState(2289);
14715 periodClause();
14716 }
14717 }
14718
14719 setState(2292);
14720 match(RP_);
14721 }
14722 }
14723 catch (RecognitionException re) {
14724 _localctx.exception = re;
14725 _errHandler.reportError(this, re);
14726 _errHandler.recover(this, re);
14727 }
14728 finally {
14729 exitRule();
14730 }
14731 return _localctx;
14732 }
14733
14734 public static class CreateTableDefinitionContext extends ParserRuleContext {
14735 public ColumnDefinitionContext columnDefinition() {
14736 return getRuleContext(ColumnDefinitionContext.class,0);
14737 }
14738 public ComputedColumnDefinitionContext computedColumnDefinition() {
14739 return getRuleContext(ComputedColumnDefinitionContext.class,0);
14740 }
14741 public ColumnSetDefinitionContext columnSetDefinition() {
14742 return getRuleContext(ColumnSetDefinitionContext.class,0);
14743 }
14744 public TableConstraintContext tableConstraint() {
14745 return getRuleContext(TableConstraintContext.class,0);
14746 }
14747 public TableIndexContext tableIndex() {
14748 return getRuleContext(TableIndexContext.class,0);
14749 }
14750 public CreateTableDefinitionContext(ParserRuleContext parent, int invokingState) {
14751 super(parent, invokingState);
14752 }
14753 @Override public int getRuleIndex() { return RULE_createTableDefinition; }
14754 @Override
14755 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14756 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableDefinition(this);
14757 else return visitor.visitChildren(this);
14758 }
14759 }
14760
14761 public final CreateTableDefinitionContext createTableDefinition() throws RecognitionException {
14762 CreateTableDefinitionContext _localctx = new CreateTableDefinitionContext(_ctx, getState());
14763 enterRule(_localctx, 310, RULE_createTableDefinition);
14764 try {
14765 setState(2299);
14766 _errHandler.sync(this);
14767 switch ( getInterpreter().adaptivePredict(_input,162,_ctx) ) {
14768 case 1:
14769 enterOuterAlt(_localctx, 1);
14770 {
14771 setState(2294);
14772 columnDefinition();
14773 }
14774 break;
14775 case 2:
14776 enterOuterAlt(_localctx, 2);
14777 {
14778 setState(2295);
14779 computedColumnDefinition();
14780 }
14781 break;
14782 case 3:
14783 enterOuterAlt(_localctx, 3);
14784 {
14785 setState(2296);
14786 columnSetDefinition();
14787 }
14788 break;
14789 case 4:
14790 enterOuterAlt(_localctx, 4);
14791 {
14792 setState(2297);
14793 tableConstraint();
14794 }
14795 break;
14796 case 5:
14797 enterOuterAlt(_localctx, 5);
14798 {
14799 setState(2298);
14800 tableIndex();
14801 }
14802 break;
14803 }
14804 }
14805 catch (RecognitionException re) {
14806 _localctx.exception = re;
14807 _errHandler.reportError(this, re);
14808 _errHandler.recover(this, re);
14809 }
14810 finally {
14811 exitRule();
14812 }
14813 return _localctx;
14814 }
14815
14816 public static class ColumnDefinitionContext extends ParserRuleContext {
14817 public ColumnNameContext columnName() {
14818 return getRuleContext(ColumnNameContext.class,0);
14819 }
14820 public DataTypeContext dataType() {
14821 return getRuleContext(DataTypeContext.class,0);
14822 }
14823 public ColumnConstraintsContext columnConstraints() {
14824 return getRuleContext(ColumnConstraintsContext.class,0);
14825 }
14826 public List<ColumnDefinitionOptionContext> columnDefinitionOption() {
14827 return getRuleContexts(ColumnDefinitionOptionContext.class);
14828 }
14829 public ColumnDefinitionOptionContext columnDefinitionOption(int i) {
14830 return getRuleContext(ColumnDefinitionOptionContext.class,i);
14831 }
14832 public ColumnIndexContext columnIndex() {
14833 return getRuleContext(ColumnIndexContext.class,0);
14834 }
14835 public ColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
14836 super(parent, invokingState);
14837 }
14838 @Override public int getRuleIndex() { return RULE_columnDefinition; }
14839 @Override
14840 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14841 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnDefinition(this);
14842 else return visitor.visitChildren(this);
14843 }
14844 }
14845
14846 public final ColumnDefinitionContext columnDefinition() throws RecognitionException {
14847 ColumnDefinitionContext _localctx = new ColumnDefinitionContext(_ctx, getState());
14848 enterRule(_localctx, 312, RULE_columnDefinition);
14849 int _la;
14850 try {
14851 int _alt;
14852 enterOuterAlt(_localctx, 1);
14853 {
14854 setState(2301);
14855 columnName();
14856 setState(2302);
14857 dataType();
14858 setState(2306);
14859 _errHandler.sync(this);
14860 _alt = getInterpreter().adaptivePredict(_input,163,_ctx);
14861 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
14862 if ( _alt==1 ) {
14863 {
14864 {
14865 setState(2303);
14866 columnDefinitionOption();
14867 }
14868 }
14869 }
14870 setState(2308);
14871 _errHandler.sync(this);
14872 _alt = getInterpreter().adaptivePredict(_input,163,_ctx);
14873 }
14874 setState(2309);
14875 columnConstraints();
14876 setState(2311);
14877 _errHandler.sync(this);
14878 _la = _input.LA(1);
14879 if (_la==INDEX) {
14880 {
14881 setState(2310);
14882 columnIndex();
14883 }
14884 }
14885
14886 }
14887 }
14888 catch (RecognitionException re) {
14889 _localctx.exception = re;
14890 _errHandler.reportError(this, re);
14891 _errHandler.recover(this, re);
14892 }
14893 finally {
14894 exitRule();
14895 }
14896 return _localctx;
14897 }
14898
14899 public static class ColumnDefinitionOptionContext extends ParserRuleContext {
14900 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
14901 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
14902 public CollationNameContext collationName() {
14903 return getRuleContext(CollationNameContext.class,0);
14904 }
14905 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
14906 public TerminalNode MASKED() { return getToken(SQLServerStatementParser.MASKED, 0); }
14907 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
14908 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
14909 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
14910 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
14911 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
14912 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
14913 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
14914 public ExprContext expr() {
14915 return getRuleContext(ExprContext.class,0);
14916 }
14917 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
14918 public IgnoredIdentifierContext ignoredIdentifier() {
14919 return getRuleContext(IgnoredIdentifierContext.class,0);
14920 }
14921 public TerminalNode IDENTITY() { return getToken(SQLServerStatementParser.IDENTITY, 0); }
14922 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
14923 public TerminalNode NUMBER_(int i) {
14924 return getToken(SQLServerStatementParser.NUMBER_, i);
14925 }
14926 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14927 public TerminalNode COMMA_(int i) {
14928 return getToken(SQLServerStatementParser.COMMA_, i);
14929 }
14930 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
14931 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
14932 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
14933 public TerminalNode GENERATED() { return getToken(SQLServerStatementParser.GENERATED, 0); }
14934 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
14935 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
14936 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
14937 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
14938 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
14939 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
14940 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
14941 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
14942 public TerminalNode ENCRYPTED() { return getToken(SQLServerStatementParser.ENCRYPTED, 0); }
14943 public EncryptedOptionsContext encryptedOptions() {
14944 return getRuleContext(EncryptedOptionsContext.class,0);
14945 }
14946 public List<ColumnConstraintContext> columnConstraint() {
14947 return getRuleContexts(ColumnConstraintContext.class);
14948 }
14949 public ColumnConstraintContext columnConstraint(int i) {
14950 return getRuleContext(ColumnConstraintContext.class,i);
14951 }
14952 public ColumnIndexContext columnIndex() {
14953 return getRuleContext(ColumnIndexContext.class,0);
14954 }
14955 public ColumnDefinitionOptionContext(ParserRuleContext parent, int invokingState) {
14956 super(parent, invokingState);
14957 }
14958 @Override public int getRuleIndex() { return RULE_columnDefinitionOption; }
14959 @Override
14960 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14961 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnDefinitionOption(this);
14962 else return visitor.visitChildren(this);
14963 }
14964 }
14965
14966 public final ColumnDefinitionOptionContext columnDefinitionOption() throws RecognitionException {
14967 ColumnDefinitionOptionContext _localctx = new ColumnDefinitionOptionContext(_ctx, getState());
14968 enterRule(_localctx, 314, RULE_columnDefinitionOption);
14969 int _la;
14970 try {
14971 int _alt;
14972 setState(2366);
14973 _errHandler.sync(this);
14974 switch ( getInterpreter().adaptivePredict(_input,170,_ctx) ) {
14975 case 1:
14976 enterOuterAlt(_localctx, 1);
14977 {
14978 setState(2313);
14979 match(FILESTREAM);
14980 }
14981 break;
14982 case 2:
14983 enterOuterAlt(_localctx, 2);
14984 {
14985 setState(2314);
14986 match(COLLATE);
14987 setState(2315);
14988 collationName();
14989 }
14990 break;
14991 case 3:
14992 enterOuterAlt(_localctx, 3);
14993 {
14994 setState(2316);
14995 match(SPARSE);
14996 }
14997 break;
14998 case 4:
14999 enterOuterAlt(_localctx, 4);
15000 {
15001 setState(2317);
15002 match(MASKED);
15003 setState(2318);
15004 match(WITH);
15005 setState(2319);
15006 match(LP_);
15007 setState(2320);
15008 match(FUNCTION);
15009 setState(2321);
15010 match(EQ_);
15011 setState(2322);
15012 match(STRING_);
15013 setState(2323);
15014 match(RP_);
15015 }
15016 break;
15017 case 5:
15018 enterOuterAlt(_localctx, 5);
15019 {
15020 setState(2326);
15021 _errHandler.sync(this);
15022 _la = _input.LA(1);
15023 if (_la==CONSTRAINT) {
15024 {
15025 setState(2324);
15026 match(CONSTRAINT);
15027 setState(2325);
15028 ignoredIdentifier();
15029 }
15030 }
15031
15032 setState(2328);
15033 match(DEFAULT);
15034 setState(2329);
15035 expr(0);
15036 }
15037 break;
15038 case 6:
15039 enterOuterAlt(_localctx, 6);
15040 {
15041 setState(2330);
15042 match(IDENTITY);
15043 setState(2336);
15044 _errHandler.sync(this);
15045 _la = _input.LA(1);
15046 if (_la==LP_) {
15047 {
15048 setState(2331);
15049 match(LP_);
15050 setState(2332);
15051 match(NUMBER_);
15052 setState(2333);
15053 match(COMMA_);
15054 setState(2334);
15055 match(NUMBER_);
15056 setState(2335);
15057 match(RP_);
15058 }
15059 }
15060
15061 }
15062 break;
15063 case 7:
15064 enterOuterAlt(_localctx, 7);
15065 {
15066 setState(2338);
15067 match(NOT);
15068 setState(2339);
15069 match(FOR);
15070 setState(2340);
15071 match(REPLICATION);
15072 }
15073 break;
15074 case 8:
15075 enterOuterAlt(_localctx, 8);
15076 {
15077 setState(2341);
15078 match(GENERATED);
15079 setState(2342);
15080 match(ALWAYS);
15081 setState(2343);
15082 match(AS);
15083 setState(2344);
15084 match(ROW);
15085 setState(2345);
15086 _la = _input.LA(1);
15087 if ( !(_la==START || _la==END) ) {
15088 _errHandler.recoverInline(this);
15089 }
15090 else {
15091 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15092 _errHandler.reportMatch(this);
15093 consume();
15094 }
15095 setState(2347);
15096 _errHandler.sync(this);
15097 _la = _input.LA(1);
15098 if (_la==HIDDEN_) {
15099 {
15100 setState(2346);
15101 match(HIDDEN_);
15102 }
15103 }
15104
15105 }
15106 break;
15107 case 9:
15108 enterOuterAlt(_localctx, 9);
15109 {
15110 setState(2350);
15111 _errHandler.sync(this);
15112 _la = _input.LA(1);
15113 if (_la==NOT) {
15114 {
15115 setState(2349);
15116 match(NOT);
15117 }
15118 }
15119
15120 setState(2352);
15121 match(NULL);
15122 }
15123 break;
15124 case 10:
15125 enterOuterAlt(_localctx, 10);
15126 {
15127 setState(2353);
15128 match(ROWGUIDCOL);
15129 }
15130 break;
15131 case 11:
15132 enterOuterAlt(_localctx, 11);
15133 {
15134 setState(2354);
15135 match(ENCRYPTED);
15136 setState(2355);
15137 match(WITH);
15138 setState(2356);
15139 encryptedOptions();
15140 }
15141 break;
15142 case 12:
15143 enterOuterAlt(_localctx, 12);
15144 {
15145 setState(2357);
15146 columnConstraint();
15147 setState(2362);
15148 _errHandler.sync(this);
15149 _alt = getInterpreter().adaptivePredict(_input,169,_ctx);
15150 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
15151 if ( _alt==1 ) {
15152 {
15153 {
15154 setState(2358);
15155 match(COMMA_);
15156 setState(2359);
15157 columnConstraint();
15158 }
15159 }
15160 }
15161 setState(2364);
15162 _errHandler.sync(this);
15163 _alt = getInterpreter().adaptivePredict(_input,169,_ctx);
15164 }
15165 }
15166 break;
15167 case 13:
15168 enterOuterAlt(_localctx, 13);
15169 {
15170 setState(2365);
15171 columnIndex();
15172 }
15173 break;
15174 }
15175 }
15176 catch (RecognitionException re) {
15177 _localctx.exception = re;
15178 _errHandler.reportError(this, re);
15179 _errHandler.recover(this, re);
15180 }
15181 finally {
15182 exitRule();
15183 }
15184 return _localctx;
15185 }
15186
15187 public static class EncryptedOptionsContext extends ParserRuleContext {
15188 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15189 public TerminalNode COLUMN_ENCRYPTION_KEY() { return getToken(SQLServerStatementParser.COLUMN_ENCRYPTION_KEY, 0); }
15190 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
15191 public TerminalNode EQ_(int i) {
15192 return getToken(SQLServerStatementParser.EQ_, i);
15193 }
15194 public IgnoredIdentifierContext ignoredIdentifier() {
15195 return getRuleContext(IgnoredIdentifierContext.class,0);
15196 }
15197 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15198 public TerminalNode COMMA_(int i) {
15199 return getToken(SQLServerStatementParser.COMMA_, i);
15200 }
15201 public TerminalNode ENCRYPTION_TYPE() { return getToken(SQLServerStatementParser.ENCRYPTION_TYPE, 0); }
15202 public TerminalNode ALGORITHM() { return getToken(SQLServerStatementParser.ALGORITHM, 0); }
15203 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
15204 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15205 public TerminalNode DETERMINISTIC() { return getToken(SQLServerStatementParser.DETERMINISTIC, 0); }
15206 public TerminalNode RANDOMIZED() { return getToken(SQLServerStatementParser.RANDOMIZED, 0); }
15207 public EncryptedOptionsContext(ParserRuleContext parent, int invokingState) {
15208 super(parent, invokingState);
15209 }
15210 @Override public int getRuleIndex() { return RULE_encryptedOptions; }
15211 @Override
15212 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15213 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEncryptedOptions(this);
15214 else return visitor.visitChildren(this);
15215 }
15216 }
15217
15218 public final EncryptedOptionsContext encryptedOptions() throws RecognitionException {
15219 EncryptedOptionsContext _localctx = new EncryptedOptionsContext(_ctx, getState());
15220 enterRule(_localctx, 316, RULE_encryptedOptions);
15221 int _la;
15222 try {
15223 enterOuterAlt(_localctx, 1);
15224 {
15225 setState(2368);
15226 match(LP_);
15227 setState(2369);
15228 match(COLUMN_ENCRYPTION_KEY);
15229 setState(2370);
15230 match(EQ_);
15231 setState(2371);
15232 ignoredIdentifier();
15233 setState(2372);
15234 match(COMMA_);
15235 setState(2373);
15236 match(ENCRYPTION_TYPE);
15237 setState(2374);
15238 match(EQ_);
15239 setState(2375);
15240 _la = _input.LA(1);
15241 if ( !(_la==DETERMINISTIC || _la==RANDOMIZED) ) {
15242 _errHandler.recoverInline(this);
15243 }
15244 else {
15245 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15246 _errHandler.reportMatch(this);
15247 consume();
15248 }
15249 setState(2376);
15250 match(COMMA_);
15251 setState(2377);
15252 match(ALGORITHM);
15253 setState(2378);
15254 match(EQ_);
15255 setState(2379);
15256 match(STRING_);
15257 setState(2380);
15258 match(RP_);
15259 }
15260 }
15261 catch (RecognitionException re) {
15262 _localctx.exception = re;
15263 _errHandler.reportError(this, re);
15264 _errHandler.recover(this, re);
15265 }
15266 finally {
15267 exitRule();
15268 }
15269 return _localctx;
15270 }
15271
15272 public static class ColumnConstraintContext extends ParserRuleContext {
15273 public PrimaryKeyConstraintContext primaryKeyConstraint() {
15274 return getRuleContext(PrimaryKeyConstraintContext.class,0);
15275 }
15276 public ColumnForeignKeyConstraintContext columnForeignKeyConstraint() {
15277 return getRuleContext(ColumnForeignKeyConstraintContext.class,0);
15278 }
15279 public CheckConstraintContext checkConstraint() {
15280 return getRuleContext(CheckConstraintContext.class,0);
15281 }
15282 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
15283 public ConstraintNameContext constraintName() {
15284 return getRuleContext(ConstraintNameContext.class,0);
15285 }
15286 public ColumnConstraintContext(ParserRuleContext parent, int invokingState) {
15287 super(parent, invokingState);
15288 }
15289 @Override public int getRuleIndex() { return RULE_columnConstraint; }
15290 @Override
15291 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15292 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnConstraint(this);
15293 else return visitor.visitChildren(this);
15294 }
15295 }
15296
15297 public final ColumnConstraintContext columnConstraint() throws RecognitionException {
15298 ColumnConstraintContext _localctx = new ColumnConstraintContext(_ctx, getState());
15299 enterRule(_localctx, 318, RULE_columnConstraint);
15300 int _la;
15301 try {
15302 enterOuterAlt(_localctx, 1);
15303 {
15304 setState(2384);
15305 _errHandler.sync(this);
15306 _la = _input.LA(1);
15307 if (_la==CONSTRAINT) {
15308 {
15309 setState(2382);
15310 match(CONSTRAINT);
15311 setState(2383);
15312 constraintName();
15313 }
15314 }
15315
15316 setState(2389);
15317 _errHandler.sync(this);
15318 switch (_input.LA(1)) {
15319 case PRIMARY:
15320 case UNIQUE:
15321 case KEY:
15322 {
15323 setState(2386);
15324 primaryKeyConstraint();
15325 }
15326 break;
15327 case FOREIGN:
15328 case REFERENCES:
15329 {
15330 setState(2387);
15331 columnForeignKeyConstraint();
15332 }
15333 break;
15334 case CHECK:
15335 {
15336 setState(2388);
15337 checkConstraint();
15338 }
15339 break;
15340 default:
15341 throw new NoViableAltException(this);
15342 }
15343 }
15344 }
15345 catch (RecognitionException re) {
15346 _localctx.exception = re;
15347 _errHandler.reportError(this, re);
15348 _errHandler.recover(this, re);
15349 }
15350 finally {
15351 exitRule();
15352 }
15353 return _localctx;
15354 }
15355
15356 public static class ComputedColumnConstraintContext extends ParserRuleContext {
15357 public PrimaryKeyConstraintContext primaryKeyConstraint() {
15358 return getRuleContext(PrimaryKeyConstraintContext.class,0);
15359 }
15360 public ComputedColumnForeignKeyConstraintContext computedColumnForeignKeyConstraint() {
15361 return getRuleContext(ComputedColumnForeignKeyConstraintContext.class,0);
15362 }
15363 public CheckConstraintContext checkConstraint() {
15364 return getRuleContext(CheckConstraintContext.class,0);
15365 }
15366 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
15367 public ConstraintNameContext constraintName() {
15368 return getRuleContext(ConstraintNameContext.class,0);
15369 }
15370 public ComputedColumnConstraintContext(ParserRuleContext parent, int invokingState) {
15371 super(parent, invokingState);
15372 }
15373 @Override public int getRuleIndex() { return RULE_computedColumnConstraint; }
15374 @Override
15375 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15376 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnConstraint(this);
15377 else return visitor.visitChildren(this);
15378 }
15379 }
15380
15381 public final ComputedColumnConstraintContext computedColumnConstraint() throws RecognitionException {
15382 ComputedColumnConstraintContext _localctx = new ComputedColumnConstraintContext(_ctx, getState());
15383 enterRule(_localctx, 320, RULE_computedColumnConstraint);
15384 int _la;
15385 try {
15386 enterOuterAlt(_localctx, 1);
15387 {
15388 setState(2393);
15389 _errHandler.sync(this);
15390 _la = _input.LA(1);
15391 if (_la==CONSTRAINT) {
15392 {
15393 setState(2391);
15394 match(CONSTRAINT);
15395 setState(2392);
15396 constraintName();
15397 }
15398 }
15399
15400 setState(2398);
15401 _errHandler.sync(this);
15402 switch (_input.LA(1)) {
15403 case PRIMARY:
15404 case UNIQUE:
15405 case KEY:
15406 {
15407 setState(2395);
15408 primaryKeyConstraint();
15409 }
15410 break;
15411 case TRUNCATE:
15412 case SCHEMA:
15413 case COLUMNS:
15414 case FOREIGN:
15415 case PRECISION:
15416 case FUNCTION:
15417 case TRIGGER:
15418 case CAST:
15419 case SUBSTRING:
15420 case OFF:
15421 case GROUP:
15422 case LIMIT:
15423 case OFFSET:
15424 case SAVEPOINT:
15425 case BOOLEAN:
15426 case ARRAY:
15427 case DATE:
15428 case LOCALTIME:
15429 case LOCALTIMESTAMP:
15430 case QUARTER:
15431 case WEEK:
15432 case DAY:
15433 case SECOND:
15434 case MICROSECOND:
15435 case MAX:
15436 case MIN:
15437 case SUM:
15438 case COUNT:
15439 case AVG:
15440 case ENABLE:
15441 case DISABLE:
15442 case INSTANCE:
15443 case DO:
15444 case DEFINER:
15445 case SQL:
15446 case CASCADED:
15447 case LOCAL:
15448 case NEXT:
15449 case NAME:
15450 case INTEGER:
15451 case TYPE:
15452 case TEXT:
15453 case VIEWS:
15454 case READ_ONLY:
15455 case DATABASE:
15456 case RETURNS:
15457 case DATEPART:
15458 case PASSWORD:
15459 case BINARY:
15460 case HIDDEN_:
15461 case MOD:
15462 case PARTITION:
15463 case PARTITIONS:
15464 case TOP:
15465 case ROW:
15466 case ROWS:
15467 case XOR:
15468 case ALWAYS:
15469 case ROLE:
15470 case START:
15471 case ALGORITHM:
15472 case AUTO:
15473 case BLOCKERS:
15474 case CLUSTERED:
15475 case NONCLUSTERED:
15476 case COLUMNSTORE:
15477 case CONTENT:
15478 case YEARS:
15479 case MONTHS:
15480 case WEEKS:
15481 case DAYS:
15482 case MINUTES:
15483 case DENY:
15484 case DETERMINISTIC:
15485 case DISTRIBUTION:
15486 case DOCUMENT:
15487 case DURABILITY:
15488 case ENCRYPTED:
15489 case FILESTREAM:
15490 case FILETABLE:
15491 case FILLFACTOR:
15492 case FOLLOWING:
15493 case HASH:
15494 case HEAP:
15495 case INBOUND:
15496 case OUTBOUND:
15497 case UNBOUNDED:
15498 case INFINITE:
15499 case LOGIN:
15500 case MASKED:
15501 case MAXDOP:
15502 case MOVE:
15503 case NOCHECK:
15504 case OBJECT:
15505 case ONLINE:
15506 case OVER:
15507 case PAGE:
15508 case PAUSED:
15509 case PERIOD:
15510 case PERSISTED:
15511 case PRECEDING:
15512 case RANDOMIZED:
15513 case RANGE:
15514 case REBUILD:
15515 case REPLICATE:
15516 case REPLICATION:
15517 case RESUMABLE:
15518 case ROWGUIDCOL:
15519 case SAVE:
15520 case SELF:
15521 case SPARSE:
15522 case SWITCH:
15523 case TRAN:
15524 case TRANCOUNT:
15525 case CONTROL:
15526 case CONCAT:
15527 case TAKE:
15528 case OWNERSHIP:
15529 case DEFINITION:
15530 case APPLICATION:
15531 case ASSEMBLY:
15532 case SYMMETRIC:
15533 case ASYMMETRIC:
15534 case SERVER:
15535 case RECEIVE:
15536 case CHANGE:
15537 case TRACE:
15538 case TRACKING:
15539 case RESOURCES:
15540 case SETTINGS:
15541 case STATE:
15542 case AVAILABILITY:
15543 case CREDENTIAL:
15544 case ENDPOINT:
15545 case EVENT:
15546 case NOTIFICATION:
15547 case LINKED:
15548 case AUDIT:
15549 case DDL:
15550 case XML:
15551 case IMPERSONATE:
15552 case SECURABLES:
15553 case AUTHENTICATE:
15554 case EXTERNAL:
15555 case ACCESS:
15556 case ADMINISTER:
15557 case BULK:
15558 case OPERATIONS:
15559 case UNSAFE:
15560 case SHUTDOWN:
15561 case SCOPED:
15562 case CONFIGURATION:
15563 case DATASPACE:
15564 case SERVICE:
15565 case CERTIFICATE:
15566 case CONTRACT:
15567 case ENCRYPTION:
15568 case MASTER:
15569 case DATA:
15570 case SOURCE:
15571 case FILE:
15572 case FORMAT:
15573 case LIBRARY:
15574 case FULLTEXT:
15575 case MASK:
15576 case UNMASK:
15577 case MESSAGE:
15578 case REMOTE:
15579 case BINDING:
15580 case ROUTE:
15581 case SECURITY:
15582 case POLICY:
15583 case AGGREGATE:
15584 case QUEUE:
15585 case RULE:
15586 case SYNONYM:
15587 case COLLECTION:
15588 case SCRIPT:
15589 case KILL:
15590 case BACKUP:
15591 case LOG:
15592 case SHOWPLAN:
15593 case SUBSCRIBE:
15594 case QUERY:
15595 case NOTIFICATIONS:
15596 case CHECKPOINT:
15597 case SEQUENCE:
15598 case ABORT_AFTER_WAIT:
15599 case ALLOW_PAGE_LOCKS:
15600 case ALLOW_ROW_LOCKS:
15601 case ALL_SPARSE_COLUMNS:
15602 case BUCKET_COUNT:
15603 case COLUMNSTORE_ARCHIVE:
15604 case COLUMN_ENCRYPTION_KEY:
15605 case COLUMN_SET:
15606 case COMPRESSION_DELAY:
15607 case DATABASE_DEAULT:
15608 case DATA_COMPRESSION:
15609 case DATA_CONSISTENCY_CHECK:
15610 case ENCRYPTION_TYPE:
15611 case SYSTEM_TIME:
15612 case SYSTEM_VERSIONING:
15613 case TEXTIMAGE_ON:
15614 case WAIT_AT_LOW_PRIORITY:
15615 case STATISTICS_INCREMENTAL:
15616 case STATISTICS_NORECOMPUTE:
15617 case ROUND_ROBIN:
15618 case SCHEMA_AND_DATA:
15619 case SCHEMA_ONLY:
15620 case SORT_IN_TEMPDB:
15621 case IGNORE_DUP_KEY:
15622 case IMPLICIT_TRANSACTIONS:
15623 case MAX_DURATION:
15624 case MEMORY_OPTIMIZED:
15625 case MIGRATION_STATE:
15626 case PAD_INDEX:
15627 case REMOTE_DATA_ARCHIVE:
15628 case FILESTREAM_ON:
15629 case FILETABLE_COLLATE_FILENAME:
15630 case FILETABLE_DIRECTORY:
15631 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
15632 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
15633 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
15634 case FILTER_PREDICATE:
15635 case HISTORY_RETENTION_PERIOD:
15636 case HISTORY_TABLE:
15637 case LOCK_ESCALATION:
15638 case DROP_EXISTING:
15639 case ROW_NUMBER:
15640 case FIRST:
15641 case DATETIME2:
15642 case OUTPUT:
15643 case INSERTED:
15644 case DELETED:
15645 case FILENAME:
15646 case MAXSIZE:
15647 case FILEGROWTH:
15648 case UNLIMITED:
15649 case KB:
15650 case MB:
15651 case GB:
15652 case TB:
15653 case MEMORY_OPTIMIZED_DATA:
15654 case FILEGROUP:
15655 case NON_TRANSACTED_ACCESS:
15656 case DB_CHAINING:
15657 case TRUSTWORTHY:
15658 case FORWARD_ONLY:
15659 case KEYSET:
15660 case FAST_FORWARD:
15661 case SCROLL_LOCKS:
15662 case OPTIMISTIC:
15663 case TYPE_WARNING:
15664 case SCHEMABINDING:
15665 case CALLER:
15666 case OWNER:
15667 case SNAPSHOT:
15668 case REPEATABLE:
15669 case SERIALIZABLE:
15670 case NATIVE_COMPILATION:
15671 case VIEW_METADATA:
15672 case INSTEAD:
15673 case APPEND:
15674 case INCREMENT:
15675 case CACHE:
15676 case MINVALUE:
15677 case MAXVALUE:
15678 case RESTART:
15679 case LOB_COMPACTION:
15680 case COMPRESS_ALL_ROW_GROUPS:
15681 case REORGANIZE:
15682 case RESUME:
15683 case PAUSE:
15684 case ABORT:
15685 case ACCELERATED_DATABASE_RECOVERY:
15686 case PERSISTENT_VERSION_STORE_FILEGROUP:
15687 case IMMEDIATE:
15688 case NO_WAIT:
15689 case TARGET_RECOVERY_TIME:
15690 case SECONDS:
15691 case HONOR_BROKER_PRIORITY:
15692 case ERROR_BROKER_CONVERSATIONS:
15693 case NEW_BROKER:
15694 case DISABLE_BROKER:
15695 case ENABLE_BROKER:
15696 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
15697 case READ_COMMITTED_SNAPSHOT:
15698 case ALLOW_SNAPSHOT_ISOLATION:
15699 case RECURSIVE_TRIGGERS:
15700 case QUOTED_IDENTIFIER:
15701 case NUMERIC_ROUNDABORT:
15702 case CONCAT_NULL_YIELDS_NULL:
15703 case COMPATIBILITY_LEVEL:
15704 case ARITHABORT:
15705 case ANSI_WARNINGS:
15706 case ANSI_PADDING:
15707 case ANSI_NULLS:
15708 case ANSI_NULL_DEFAULT:
15709 case PAGE_VERIFY:
15710 case CHECKSUM:
15711 case TORN_PAGE_DETECTION:
15712 case BULK_LOGGED:
15713 case RECOVERY:
15714 case TOTAL_EXECUTION_CPU_TIME_MS:
15715 case TOTAL_COMPILE_CPU_TIME_MS:
15716 case STALE_CAPTURE_POLICY_THRESHOLD:
15717 case EXECUTION_COUNT:
15718 case QUERY_CAPTURE_POLICY:
15719 case WAIT_STATS_CAPTURE_MODE:
15720 case MAX_PLANS_PER_QUERY:
15721 case QUERY_CAPTURE_MODE:
15722 case SIZE_BASED_CLEANUP_MODE:
15723 case INTERVAL_LENGTH_MINUTES:
15724 case MAX_STORAGE_SIZE_MB:
15725 case DATA_FLUSH_INTERVAL_SECONDS:
15726 case CLEANUP_POLICY:
15727 case CUSTOM:
15728 case STALE_QUERY_THRESHOLD_DAYS:
15729 case OPERATION_MODE:
15730 case QUERY_STORE:
15731 case CURSOR_DEFAULT:
15732 case GLOBAL:
15733 case CURSOR_CLOSE_ON_COMMIT:
15734 case HOURS:
15735 case CHANGE_RETENTION:
15736 case AUTO_CLEANUP:
15737 case CHANGE_TRACKING:
15738 case AUTOMATIC_TUNING:
15739 case FORCE_LAST_GOOD_PLAN:
15740 case AUTO_UPDATE_STATISTICS_ASYNC:
15741 case AUTO_UPDATE_STATISTICS:
15742 case AUTO_SHRINK:
15743 case AUTO_CREATE_STATISTICS:
15744 case INCREMENTAL:
15745 case AUTO_CLOSE:
15746 case DATA_RETENTION:
15747 case TEMPORAL_HISTORY_RETENTION:
15748 case EDITION:
15749 case MIXED_PAGE_ALLOCATION:
15750 case DISABLED:
15751 case ALLOWED:
15752 case HADR:
15753 case MULTI_USER:
15754 case RESTRICTED_USER:
15755 case SINGLE_USER:
15756 case OFFLINE:
15757 case EMERGENCY:
15758 case SUSPEND:
15759 case DATE_CORRELATION_OPTIMIZATION:
15760 case ELASTIC_POOL:
15761 case SERVICE_OBJECTIVE:
15762 case DATABASE_NAME:
15763 case ALLOW_CONNECTIONS:
15764 case GEO:
15765 case NAMED:
15766 case DATEFIRST:
15767 case BACKUP_STORAGE_REDUNDANCY:
15768 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
15769 case SECONDARY:
15770 case FAILOVER:
15771 case DEFAULT_FULLTEXT_LANGUAGE:
15772 case DEFAULT_LANGUAGE:
15773 case INLINE:
15774 case NESTED_TRIGGERS:
15775 case TRANSFORM_NOISE_WORDS:
15776 case TWO_DIGIT_YEAR_CUTOFF:
15777 case PERSISTENT_LOG_BUFFER:
15778 case DIRECTORY_NAME:
15779 case DATEFORMAT:
15780 case DELAYED_DURABILITY:
15781 case AUTHORIZATION:
15782 case TRANSFER:
15783 case PROVIDER:
15784 case SEARCH:
15785 case MEMBER:
15786 case IDENTIFIER_:
15787 case DELIMITED_IDENTIFIER_:
15788 {
15789 setState(2396);
15790 computedColumnForeignKeyConstraint();
15791 }
15792 break;
15793 case CHECK:
15794 {
15795 setState(2397);
15796 checkConstraint();
15797 }
15798 break;
15799 default:
15800 throw new NoViableAltException(this);
15801 }
15802 }
15803 }
15804 catch (RecognitionException re) {
15805 _localctx.exception = re;
15806 _errHandler.reportError(this, re);
15807 _errHandler.recover(this, re);
15808 }
15809 finally {
15810 exitRule();
15811 }
15812 return _localctx;
15813 }
15814
15815 public static class ComputedColumnForeignKeyConstraintContext extends ParserRuleContext {
15816 public TableNameContext tableName() {
15817 return getRuleContext(TableNameContext.class,0);
15818 }
15819 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
15820 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
15821 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15822 public ColumnNameContext columnName() {
15823 return getRuleContext(ColumnNameContext.class,0);
15824 }
15825 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15826 public List<ComputedColumnForeignKeyOnActionContext> computedColumnForeignKeyOnAction() {
15827 return getRuleContexts(ComputedColumnForeignKeyOnActionContext.class);
15828 }
15829 public ComputedColumnForeignKeyOnActionContext computedColumnForeignKeyOnAction(int i) {
15830 return getRuleContext(ComputedColumnForeignKeyOnActionContext.class,i);
15831 }
15832 public ComputedColumnForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
15833 super(parent, invokingState);
15834 }
15835 @Override public int getRuleIndex() { return RULE_computedColumnForeignKeyConstraint; }
15836 @Override
15837 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15838 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnForeignKeyConstraint(this);
15839 else return visitor.visitChildren(this);
15840 }
15841 }
15842
15843 public final ComputedColumnForeignKeyConstraintContext computedColumnForeignKeyConstraint() throws RecognitionException {
15844 ComputedColumnForeignKeyConstraintContext _localctx = new ComputedColumnForeignKeyConstraintContext(_ctx, getState());
15845 enterRule(_localctx, 322, RULE_computedColumnForeignKeyConstraint);
15846 int _la;
15847 try {
15848 enterOuterAlt(_localctx, 1);
15849 {
15850 setState(2402);
15851 _errHandler.sync(this);
15852 _la = _input.LA(1);
15853 if (_la==FOREIGN) {
15854 {
15855 setState(2400);
15856 match(FOREIGN);
15857 setState(2401);
15858 match(KEY);
15859 }
15860 }
15861
15862 setState(2404);
15863 tableName();
15864 setState(2409);
15865 _errHandler.sync(this);
15866 switch ( getInterpreter().adaptivePredict(_input,176,_ctx) ) {
15867 case 1:
15868 {
15869 setState(2405);
15870 match(LP_);
15871 setState(2406);
15872 columnName();
15873 setState(2407);
15874 match(RP_);
15875 }
15876 break;
15877 }
15878 setState(2414);
15879 _errHandler.sync(this);
15880 _la = _input.LA(1);
15881 while (_la==ON || _la==NOT) {
15882 {
15883 {
15884 setState(2411);
15885 computedColumnForeignKeyOnAction();
15886 }
15887 }
15888 setState(2416);
15889 _errHandler.sync(this);
15890 _la = _input.LA(1);
15891 }
15892 }
15893 }
15894 catch (RecognitionException re) {
15895 _localctx.exception = re;
15896 _errHandler.reportError(this, re);
15897 _errHandler.recover(this, re);
15898 }
15899 finally {
15900 exitRule();
15901 }
15902 return _localctx;
15903 }
15904
15905 public static class ComputedColumnForeignKeyOnActionContext extends ParserRuleContext {
15906 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
15907 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
15908 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
15909 public TerminalNode ACTION() { return getToken(SQLServerStatementParser.ACTION, 0); }
15910 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
15911 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
15912 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
15913 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
15914 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
15915 public ComputedColumnForeignKeyOnActionContext(ParserRuleContext parent, int invokingState) {
15916 super(parent, invokingState);
15917 }
15918 @Override public int getRuleIndex() { return RULE_computedColumnForeignKeyOnAction; }
15919 @Override
15920 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15921 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnForeignKeyOnAction(this);
15922 else return visitor.visitChildren(this);
15923 }
15924 }
15925
15926 public final ComputedColumnForeignKeyOnActionContext computedColumnForeignKeyOnAction() throws RecognitionException {
15927 ComputedColumnForeignKeyOnActionContext _localctx = new ComputedColumnForeignKeyOnActionContext(_ctx, getState());
15928 enterRule(_localctx, 324, RULE_computedColumnForeignKeyOnAction);
15929 try {
15930 setState(2431);
15931 _errHandler.sync(this);
15932 switch ( getInterpreter().adaptivePredict(_input,179,_ctx) ) {
15933 case 1:
15934 enterOuterAlt(_localctx, 1);
15935 {
15936 setState(2417);
15937 match(ON);
15938 setState(2418);
15939 match(DELETE);
15940 setState(2422);
15941 _errHandler.sync(this);
15942 switch (_input.LA(1)) {
15943 case NO:
15944 {
15945 setState(2419);
15946 match(NO);
15947 setState(2420);
15948 match(ACTION);
15949 }
15950 break;
15951 case CASCADE:
15952 {
15953 setState(2421);
15954 match(CASCADE);
15955 }
15956 break;
15957 default:
15958 throw new NoViableAltException(this);
15959 }
15960 }
15961 break;
15962 case 2:
15963 enterOuterAlt(_localctx, 2);
15964 {
15965 setState(2424);
15966 match(ON);
15967 setState(2425);
15968 match(UPDATE);
15969 setState(2426);
15970 match(NO);
15971 setState(2427);
15972 match(ACTION);
15973 }
15974 break;
15975 case 3:
15976 enterOuterAlt(_localctx, 3);
15977 {
15978 setState(2428);
15979 match(NOT);
15980 setState(2429);
15981 match(FOR);
15982 setState(2430);
15983 match(REPLICATION);
15984 }
15985 break;
15986 }
15987 }
15988 catch (RecognitionException re) {
15989 _localctx.exception = re;
15990 _errHandler.reportError(this, re);
15991 _errHandler.recover(this, re);
15992 }
15993 finally {
15994 exitRule();
15995 }
15996 return _localctx;
15997 }
15998
15999 public static class PrimaryKeyConstraintContext extends ParserRuleContext {
16000 public PrimaryKeyContext primaryKey() {
16001 return getRuleContext(PrimaryKeyContext.class,0);
16002 }
16003 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
16004 public DiskTablePrimaryKeyConstraintOptionContext diskTablePrimaryKeyConstraintOption() {
16005 return getRuleContext(DiskTablePrimaryKeyConstraintOptionContext.class,0);
16006 }
16007 public MemoryTablePrimaryKeyConstraintOptionContext memoryTablePrimaryKeyConstraintOption() {
16008 return getRuleContext(MemoryTablePrimaryKeyConstraintOptionContext.class,0);
16009 }
16010 public PrimaryKeyConstraintContext(ParserRuleContext parent, int invokingState) {
16011 super(parent, invokingState);
16012 }
16013 @Override public int getRuleIndex() { return RULE_primaryKeyConstraint; }
16014 @Override
16015 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16016 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyConstraint(this);
16017 else return visitor.visitChildren(this);
16018 }
16019 }
16020
16021 public final PrimaryKeyConstraintContext primaryKeyConstraint() throws RecognitionException {
16022 PrimaryKeyConstraintContext _localctx = new PrimaryKeyConstraintContext(_ctx, getState());
16023 enterRule(_localctx, 326, RULE_primaryKeyConstraint);
16024 try {
16025 enterOuterAlt(_localctx, 1);
16026 {
16027 setState(2435);
16028 _errHandler.sync(this);
16029 switch (_input.LA(1)) {
16030 case PRIMARY:
16031 case KEY:
16032 {
16033 setState(2433);
16034 primaryKey();
16035 }
16036 break;
16037 case UNIQUE:
16038 {
16039 setState(2434);
16040 match(UNIQUE);
16041 }
16042 break;
16043 default:
16044 throw new NoViableAltException(this);
16045 }
16046 setState(2439);
16047 _errHandler.sync(this);
16048 switch ( getInterpreter().adaptivePredict(_input,181,_ctx) ) {
16049 case 1:
16050 {
16051 setState(2437);
16052 diskTablePrimaryKeyConstraintOption();
16053 }
16054 break;
16055 case 2:
16056 {
16057 setState(2438);
16058 memoryTablePrimaryKeyConstraintOption();
16059 }
16060 break;
16061 }
16062 }
16063 }
16064 catch (RecognitionException re) {
16065 _localctx.exception = re;
16066 _errHandler.reportError(this, re);
16067 _errHandler.recover(this, re);
16068 }
16069 finally {
16070 exitRule();
16071 }
16072 return _localctx;
16073 }
16074
16075 public static class DiskTablePrimaryKeyConstraintOptionContext extends ParserRuleContext {
16076 public ClusterOptionContext clusterOption() {
16077 return getRuleContext(ClusterOptionContext.class,0);
16078 }
16079 public PrimaryKeyWithClauseContext primaryKeyWithClause() {
16080 return getRuleContext(PrimaryKeyWithClauseContext.class,0);
16081 }
16082 public PrimaryKeyOnClauseContext primaryKeyOnClause() {
16083 return getRuleContext(PrimaryKeyOnClauseContext.class,0);
16084 }
16085 public DiskTablePrimaryKeyConstraintOptionContext(ParserRuleContext parent, int invokingState) {
16086 super(parent, invokingState);
16087 }
16088 @Override public int getRuleIndex() { return RULE_diskTablePrimaryKeyConstraintOption; }
16089 @Override
16090 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16091 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDiskTablePrimaryKeyConstraintOption(this);
16092 else return visitor.visitChildren(this);
16093 }
16094 }
16095
16096 public final DiskTablePrimaryKeyConstraintOptionContext diskTablePrimaryKeyConstraintOption() throws RecognitionException {
16097 DiskTablePrimaryKeyConstraintOptionContext _localctx = new DiskTablePrimaryKeyConstraintOptionContext(_ctx, getState());
16098 enterRule(_localctx, 328, RULE_diskTablePrimaryKeyConstraintOption);
16099 int _la;
16100 try {
16101 enterOuterAlt(_localctx, 1);
16102 {
16103 setState(2442);
16104 _errHandler.sync(this);
16105 _la = _input.LA(1);
16106 if (_la==CLUSTERED || _la==NONCLUSTERED) {
16107 {
16108 setState(2441);
16109 clusterOption();
16110 }
16111 }
16112
16113 setState(2445);
16114 _errHandler.sync(this);
16115 switch ( getInterpreter().adaptivePredict(_input,183,_ctx) ) {
16116 case 1:
16117 {
16118 setState(2444);
16119 primaryKeyWithClause();
16120 }
16121 break;
16122 }
16123 setState(2448);
16124 _errHandler.sync(this);
16125 _la = _input.LA(1);
16126 if (_la==ON) {
16127 {
16128 setState(2447);
16129 primaryKeyOnClause();
16130 }
16131 }
16132
16133 }
16134 }
16135 catch (RecognitionException re) {
16136 _localctx.exception = re;
16137 _errHandler.reportError(this, re);
16138 _errHandler.recover(this, re);
16139 }
16140 finally {
16141 exitRule();
16142 }
16143 return _localctx;
16144 }
16145
16146 public static class ClusterOptionContext extends ParserRuleContext {
16147 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
16148 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
16149 public ClusterOptionContext(ParserRuleContext parent, int invokingState) {
16150 super(parent, invokingState);
16151 }
16152 @Override public int getRuleIndex() { return RULE_clusterOption; }
16153 @Override
16154 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16155 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClusterOption(this);
16156 else return visitor.visitChildren(this);
16157 }
16158 }
16159
16160 public final ClusterOptionContext clusterOption() throws RecognitionException {
16161 ClusterOptionContext _localctx = new ClusterOptionContext(_ctx, getState());
16162 enterRule(_localctx, 330, RULE_clusterOption);
16163 int _la;
16164 try {
16165 enterOuterAlt(_localctx, 1);
16166 {
16167 setState(2450);
16168 _la = _input.LA(1);
16169 if ( !(_la==CLUSTERED || _la==NONCLUSTERED) ) {
16170 _errHandler.recoverInline(this);
16171 }
16172 else {
16173 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16174 _errHandler.reportMatch(this);
16175 consume();
16176 }
16177 }
16178 }
16179 catch (RecognitionException re) {
16180 _localctx.exception = re;
16181 _errHandler.reportError(this, re);
16182 _errHandler.recover(this, re);
16183 }
16184 finally {
16185 exitRule();
16186 }
16187 return _localctx;
16188 }
16189
16190 public static class PrimaryKeyWithClauseContext extends ParserRuleContext {
16191 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
16192 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
16193 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
16194 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
16195 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16196 public List<IndexOptionContext> indexOption() {
16197 return getRuleContexts(IndexOptionContext.class);
16198 }
16199 public IndexOptionContext indexOption(int i) {
16200 return getRuleContext(IndexOptionContext.class,i);
16201 }
16202 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16203 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
16204 public TerminalNode COMMA_(int i) {
16205 return getToken(SQLServerStatementParser.COMMA_, i);
16206 }
16207 public PrimaryKeyWithClauseContext(ParserRuleContext parent, int invokingState) {
16208 super(parent, invokingState);
16209 }
16210 @Override public int getRuleIndex() { return RULE_primaryKeyWithClause; }
16211 @Override
16212 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16213 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyWithClause(this);
16214 else return visitor.visitChildren(this);
16215 }
16216 }
16217
16218 public final PrimaryKeyWithClauseContext primaryKeyWithClause() throws RecognitionException {
16219 PrimaryKeyWithClauseContext _localctx = new PrimaryKeyWithClauseContext(_ctx, getState());
16220 enterRule(_localctx, 332, RULE_primaryKeyWithClause);
16221 int _la;
16222 try {
16223 enterOuterAlt(_localctx, 1);
16224 {
16225 setState(2452);
16226 match(WITH);
16227 setState(2467);
16228 _errHandler.sync(this);
16229 switch (_input.LA(1)) {
16230 case FILLFACTOR:
16231 {
16232 setState(2453);
16233 match(FILLFACTOR);
16234 setState(2454);
16235 match(EQ_);
16236 setState(2455);
16237 match(NUMBER_);
16238 }
16239 break;
16240 case LP_:
16241 {
16242 setState(2456);
16243 match(LP_);
16244 setState(2457);
16245 indexOption();
16246 setState(2462);
16247 _errHandler.sync(this);
16248 _la = _input.LA(1);
16249 while (_la==COMMA_) {
16250 {
16251 {
16252 setState(2458);
16253 match(COMMA_);
16254 setState(2459);
16255 indexOption();
16256 }
16257 }
16258 setState(2464);
16259 _errHandler.sync(this);
16260 _la = _input.LA(1);
16261 }
16262 setState(2465);
16263 match(RP_);
16264 }
16265 break;
16266 default:
16267 throw new NoViableAltException(this);
16268 }
16269 }
16270 }
16271 catch (RecognitionException re) {
16272 _localctx.exception = re;
16273 _errHandler.reportError(this, re);
16274 _errHandler.recover(this, re);
16275 }
16276 finally {
16277 exitRule();
16278 }
16279 return _localctx;
16280 }
16281
16282 public static class PrimaryKeyOnClauseContext extends ParserRuleContext {
16283 public OnSchemaColumnContext onSchemaColumn() {
16284 return getRuleContext(OnSchemaColumnContext.class,0);
16285 }
16286 public OnFileGroupContext onFileGroup() {
16287 return getRuleContext(OnFileGroupContext.class,0);
16288 }
16289 public OnStringContext onString() {
16290 return getRuleContext(OnStringContext.class,0);
16291 }
16292 public PrimaryKeyOnClauseContext(ParserRuleContext parent, int invokingState) {
16293 super(parent, invokingState);
16294 }
16295 @Override public int getRuleIndex() { return RULE_primaryKeyOnClause; }
16296 @Override
16297 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16298 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyOnClause(this);
16299 else return visitor.visitChildren(this);
16300 }
16301 }
16302
16303 public final PrimaryKeyOnClauseContext primaryKeyOnClause() throws RecognitionException {
16304 PrimaryKeyOnClauseContext _localctx = new PrimaryKeyOnClauseContext(_ctx, getState());
16305 enterRule(_localctx, 334, RULE_primaryKeyOnClause);
16306 try {
16307 setState(2472);
16308 _errHandler.sync(this);
16309 switch ( getInterpreter().adaptivePredict(_input,187,_ctx) ) {
16310 case 1:
16311 enterOuterAlt(_localctx, 1);
16312 {
16313 setState(2469);
16314 onSchemaColumn();
16315 }
16316 break;
16317 case 2:
16318 enterOuterAlt(_localctx, 2);
16319 {
16320 setState(2470);
16321 onFileGroup();
16322 }
16323 break;
16324 case 3:
16325 enterOuterAlt(_localctx, 3);
16326 {
16327 setState(2471);
16328 onString();
16329 }
16330 break;
16331 }
16332 }
16333 catch (RecognitionException re) {
16334 _localctx.exception = re;
16335 _errHandler.reportError(this, re);
16336 _errHandler.recover(this, re);
16337 }
16338 finally {
16339 exitRule();
16340 }
16341 return _localctx;
16342 }
16343
16344 public static class OnSchemaColumnContext extends ParserRuleContext {
16345 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
16346 public SchemaNameContext schemaName() {
16347 return getRuleContext(SchemaNameContext.class,0);
16348 }
16349 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16350 public ColumnNameContext columnName() {
16351 return getRuleContext(ColumnNameContext.class,0);
16352 }
16353 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16354 public OnSchemaColumnContext(ParserRuleContext parent, int invokingState) {
16355 super(parent, invokingState);
16356 }
16357 @Override public int getRuleIndex() { return RULE_onSchemaColumn; }
16358 @Override
16359 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16360 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnSchemaColumn(this);
16361 else return visitor.visitChildren(this);
16362 }
16363 }
16364
16365 public final OnSchemaColumnContext onSchemaColumn() throws RecognitionException {
16366 OnSchemaColumnContext _localctx = new OnSchemaColumnContext(_ctx, getState());
16367 enterRule(_localctx, 336, RULE_onSchemaColumn);
16368 try {
16369 enterOuterAlt(_localctx, 1);
16370 {
16371 setState(2474);
16372 match(ON);
16373 setState(2475);
16374 schemaName();
16375 setState(2476);
16376 match(LP_);
16377 setState(2477);
16378 columnName();
16379 setState(2478);
16380 match(RP_);
16381 }
16382 }
16383 catch (RecognitionException re) {
16384 _localctx.exception = re;
16385 _errHandler.reportError(this, re);
16386 _errHandler.recover(this, re);
16387 }
16388 finally {
16389 exitRule();
16390 }
16391 return _localctx;
16392 }
16393
16394 public static class OnFileGroupContext extends ParserRuleContext {
16395 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
16396 public IgnoredIdentifierContext ignoredIdentifier() {
16397 return getRuleContext(IgnoredIdentifierContext.class,0);
16398 }
16399 public OnFileGroupContext(ParserRuleContext parent, int invokingState) {
16400 super(parent, invokingState);
16401 }
16402 @Override public int getRuleIndex() { return RULE_onFileGroup; }
16403 @Override
16404 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16405 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnFileGroup(this);
16406 else return visitor.visitChildren(this);
16407 }
16408 }
16409
16410 public final OnFileGroupContext onFileGroup() throws RecognitionException {
16411 OnFileGroupContext _localctx = new OnFileGroupContext(_ctx, getState());
16412 enterRule(_localctx, 338, RULE_onFileGroup);
16413 try {
16414 enterOuterAlt(_localctx, 1);
16415 {
16416 setState(2480);
16417 match(ON);
16418 setState(2481);
16419 ignoredIdentifier();
16420 }
16421 }
16422 catch (RecognitionException re) {
16423 _localctx.exception = re;
16424 _errHandler.reportError(this, re);
16425 _errHandler.recover(this, re);
16426 }
16427 finally {
16428 exitRule();
16429 }
16430 return _localctx;
16431 }
16432
16433 public static class OnStringContext extends ParserRuleContext {
16434 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
16435 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
16436 public OnStringContext(ParserRuleContext parent, int invokingState) {
16437 super(parent, invokingState);
16438 }
16439 @Override public int getRuleIndex() { return RULE_onString; }
16440 @Override
16441 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16442 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnString(this);
16443 else return visitor.visitChildren(this);
16444 }
16445 }
16446
16447 public final OnStringContext onString() throws RecognitionException {
16448 OnStringContext _localctx = new OnStringContext(_ctx, getState());
16449 enterRule(_localctx, 340, RULE_onString);
16450 try {
16451 enterOuterAlt(_localctx, 1);
16452 {
16453 setState(2483);
16454 match(ON);
16455 setState(2484);
16456 match(STRING_);
16457 }
16458 }
16459 catch (RecognitionException re) {
16460 _localctx.exception = re;
16461 _errHandler.reportError(this, re);
16462 _errHandler.recover(this, re);
16463 }
16464 finally {
16465 exitRule();
16466 }
16467 return _localctx;
16468 }
16469
16470 public static class MemoryTablePrimaryKeyConstraintOptionContext extends ParserRuleContext {
16471 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
16472 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
16473 public WithBucketContext withBucket() {
16474 return getRuleContext(WithBucketContext.class,0);
16475 }
16476 public MemoryTablePrimaryKeyConstraintOptionContext(ParserRuleContext parent, int invokingState) {
16477 super(parent, invokingState);
16478 }
16479 @Override public int getRuleIndex() { return RULE_memoryTablePrimaryKeyConstraintOption; }
16480 @Override
16481 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16482 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMemoryTablePrimaryKeyConstraintOption(this);
16483 else return visitor.visitChildren(this);
16484 }
16485 }
16486
16487 public final MemoryTablePrimaryKeyConstraintOptionContext memoryTablePrimaryKeyConstraintOption() throws RecognitionException {
16488 MemoryTablePrimaryKeyConstraintOptionContext _localctx = new MemoryTablePrimaryKeyConstraintOptionContext(_ctx, getState());
16489 enterRule(_localctx, 342, RULE_memoryTablePrimaryKeyConstraintOption);
16490 try {
16491 setState(2492);
16492 _errHandler.sync(this);
16493 switch ( getInterpreter().adaptivePredict(_input,189,_ctx) ) {
16494 case 1:
16495 enterOuterAlt(_localctx, 1);
16496 {
16497 setState(2486);
16498 match(NONCLUSTERED);
16499 }
16500 break;
16501 case 2:
16502 enterOuterAlt(_localctx, 2);
16503 {
16504 setState(2487);
16505 match(NONCLUSTERED);
16506 setState(2488);
16507 match(HASH);
16508 setState(2490);
16509 _errHandler.sync(this);
16510 switch ( getInterpreter().adaptivePredict(_input,188,_ctx) ) {
16511 case 1:
16512 {
16513 setState(2489);
16514 withBucket();
16515 }
16516 break;
16517 }
16518 }
16519 break;
16520 }
16521 }
16522 catch (RecognitionException re) {
16523 _localctx.exception = re;
16524 _errHandler.reportError(this, re);
16525 _errHandler.recover(this, re);
16526 }
16527 finally {
16528 exitRule();
16529 }
16530 return _localctx;
16531 }
16532
16533 public static class WithBucketContext extends ParserRuleContext {
16534 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
16535 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16536 public TerminalNode BUCKET_COUNT() { return getToken(SQLServerStatementParser.BUCKET_COUNT, 0); }
16537 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
16538 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
16539 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16540 public WithBucketContext(ParserRuleContext parent, int invokingState) {
16541 super(parent, invokingState);
16542 }
16543 @Override public int getRuleIndex() { return RULE_withBucket; }
16544 @Override
16545 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16546 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithBucket(this);
16547 else return visitor.visitChildren(this);
16548 }
16549 }
16550
16551 public final WithBucketContext withBucket() throws RecognitionException {
16552 WithBucketContext _localctx = new WithBucketContext(_ctx, getState());
16553 enterRule(_localctx, 344, RULE_withBucket);
16554 try {
16555 enterOuterAlt(_localctx, 1);
16556 {
16557 setState(2494);
16558 match(WITH);
16559 setState(2495);
16560 match(LP_);
16561 setState(2496);
16562 match(BUCKET_COUNT);
16563 setState(2497);
16564 match(EQ_);
16565 setState(2498);
16566 match(NUMBER_);
16567 setState(2499);
16568 match(RP_);
16569 }
16570 }
16571 catch (RecognitionException re) {
16572 _localctx.exception = re;
16573 _errHandler.reportError(this, re);
16574 _errHandler.recover(this, re);
16575 }
16576 finally {
16577 exitRule();
16578 }
16579 return _localctx;
16580 }
16581
16582 public static class ColumnForeignKeyConstraintContext extends ParserRuleContext {
16583 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
16584 public TableNameContext tableName() {
16585 return getRuleContext(TableNameContext.class,0);
16586 }
16587 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
16588 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
16589 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16590 public ColumnNameContext columnName() {
16591 return getRuleContext(ColumnNameContext.class,0);
16592 }
16593 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16594 public List<ForeignKeyOnActionContext> foreignKeyOnAction() {
16595 return getRuleContexts(ForeignKeyOnActionContext.class);
16596 }
16597 public ForeignKeyOnActionContext foreignKeyOnAction(int i) {
16598 return getRuleContext(ForeignKeyOnActionContext.class,i);
16599 }
16600 public ColumnForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
16601 super(parent, invokingState);
16602 }
16603 @Override public int getRuleIndex() { return RULE_columnForeignKeyConstraint; }
16604 @Override
16605 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16606 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnForeignKeyConstraint(this);
16607 else return visitor.visitChildren(this);
16608 }
16609 }
16610
16611 public final ColumnForeignKeyConstraintContext columnForeignKeyConstraint() throws RecognitionException {
16612 ColumnForeignKeyConstraintContext _localctx = new ColumnForeignKeyConstraintContext(_ctx, getState());
16613 enterRule(_localctx, 346, RULE_columnForeignKeyConstraint);
16614 int _la;
16615 try {
16616 int _alt;
16617 enterOuterAlt(_localctx, 1);
16618 {
16619 setState(2503);
16620 _errHandler.sync(this);
16621 _la = _input.LA(1);
16622 if (_la==FOREIGN) {
16623 {
16624 setState(2501);
16625 match(FOREIGN);
16626 setState(2502);
16627 match(KEY);
16628 }
16629 }
16630
16631 setState(2505);
16632 match(REFERENCES);
16633 setState(2506);
16634 tableName();
16635 setState(2511);
16636 _errHandler.sync(this);
16637 switch ( getInterpreter().adaptivePredict(_input,191,_ctx) ) {
16638 case 1:
16639 {
16640 setState(2507);
16641 match(LP_);
16642 setState(2508);
16643 columnName();
16644 setState(2509);
16645 match(RP_);
16646 }
16647 break;
16648 }
16649 setState(2516);
16650 _errHandler.sync(this);
16651 _alt = getInterpreter().adaptivePredict(_input,192,_ctx);
16652 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
16653 if ( _alt==1 ) {
16654 {
16655 {
16656 setState(2513);
16657 foreignKeyOnAction();
16658 }
16659 }
16660 }
16661 setState(2518);
16662 _errHandler.sync(this);
16663 _alt = getInterpreter().adaptivePredict(_input,192,_ctx);
16664 }
16665 }
16666 }
16667 catch (RecognitionException re) {
16668 _localctx.exception = re;
16669 _errHandler.reportError(this, re);
16670 _errHandler.recover(this, re);
16671 }
16672 finally {
16673 exitRule();
16674 }
16675 return _localctx;
16676 }
16677
16678 public static class ForeignKeyOnActionContext extends ParserRuleContext {
16679 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
16680 public ForeignKeyOnContext foreignKeyOn() {
16681 return getRuleContext(ForeignKeyOnContext.class,0);
16682 }
16683 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
16684 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
16685 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
16686 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
16687 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
16688 public ForeignKeyOnActionContext(ParserRuleContext parent, int invokingState) {
16689 super(parent, invokingState);
16690 }
16691 @Override public int getRuleIndex() { return RULE_foreignKeyOnAction; }
16692 @Override
16693 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16694 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForeignKeyOnAction(this);
16695 else return visitor.visitChildren(this);
16696 }
16697 }
16698
16699 public final ForeignKeyOnActionContext foreignKeyOnAction() throws RecognitionException {
16700 ForeignKeyOnActionContext _localctx = new ForeignKeyOnActionContext(_ctx, getState());
16701 enterRule(_localctx, 348, RULE_foreignKeyOnAction);
16702 int _la;
16703 try {
16704 setState(2525);
16705 _errHandler.sync(this);
16706 switch (_input.LA(1)) {
16707 case ON:
16708 enterOuterAlt(_localctx, 1);
16709 {
16710 setState(2519);
16711 match(ON);
16712 setState(2520);
16713 _la = _input.LA(1);
16714 if ( !(_la==UPDATE || _la==DELETE) ) {
16715 _errHandler.recoverInline(this);
16716 }
16717 else {
16718 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16719 _errHandler.reportMatch(this);
16720 consume();
16721 }
16722 setState(2521);
16723 foreignKeyOn();
16724 }
16725 break;
16726 case NOT:
16727 enterOuterAlt(_localctx, 2);
16728 {
16729 setState(2522);
16730 match(NOT);
16731 setState(2523);
16732 match(FOR);
16733 setState(2524);
16734 match(REPLICATION);
16735 }
16736 break;
16737 default:
16738 throw new NoViableAltException(this);
16739 }
16740 }
16741 catch (RecognitionException re) {
16742 _localctx.exception = re;
16743 _errHandler.reportError(this, re);
16744 _errHandler.recover(this, re);
16745 }
16746 finally {
16747 exitRule();
16748 }
16749 return _localctx;
16750 }
16751
16752 public static class ForeignKeyOnContext extends ParserRuleContext {
16753 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
16754 public TerminalNode ACTION() { return getToken(SQLServerStatementParser.ACTION, 0); }
16755 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
16756 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
16757 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
16758 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
16759 public ForeignKeyOnContext(ParserRuleContext parent, int invokingState) {
16760 super(parent, invokingState);
16761 }
16762 @Override public int getRuleIndex() { return RULE_foreignKeyOn; }
16763 @Override
16764 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16765 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForeignKeyOn(this);
16766 else return visitor.visitChildren(this);
16767 }
16768 }
16769
16770 public final ForeignKeyOnContext foreignKeyOn() throws RecognitionException {
16771 ForeignKeyOnContext _localctx = new ForeignKeyOnContext(_ctx, getState());
16772 enterRule(_localctx, 350, RULE_foreignKeyOn);
16773 int _la;
16774 try {
16775 setState(2532);
16776 _errHandler.sync(this);
16777 switch (_input.LA(1)) {
16778 case NO:
16779 enterOuterAlt(_localctx, 1);
16780 {
16781 setState(2527);
16782 match(NO);
16783 setState(2528);
16784 match(ACTION);
16785 }
16786 break;
16787 case CASCADE:
16788 enterOuterAlt(_localctx, 2);
16789 {
16790 setState(2529);
16791 match(CASCADE);
16792 }
16793 break;
16794 case SET:
16795 enterOuterAlt(_localctx, 3);
16796 {
16797 setState(2530);
16798 match(SET);
16799 setState(2531);
16800 _la = _input.LA(1);
16801 if ( !(_la==NULL || _la==DEFAULT) ) {
16802 _errHandler.recoverInline(this);
16803 }
16804 else {
16805 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16806 _errHandler.reportMatch(this);
16807 consume();
16808 }
16809 }
16810 break;
16811 default:
16812 throw new NoViableAltException(this);
16813 }
16814 }
16815 catch (RecognitionException re) {
16816 _localctx.exception = re;
16817 _errHandler.reportError(this, re);
16818 _errHandler.recover(this, re);
16819 }
16820 finally {
16821 exitRule();
16822 }
16823 return _localctx;
16824 }
16825
16826 public static class CheckConstraintContext extends ParserRuleContext {
16827 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
16828 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16829 public ExprContext expr() {
16830 return getRuleContext(ExprContext.class,0);
16831 }
16832 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16833 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
16834 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
16835 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
16836 public CheckConstraintContext(ParserRuleContext parent, int invokingState) {
16837 super(parent, invokingState);
16838 }
16839 @Override public int getRuleIndex() { return RULE_checkConstraint; }
16840 @Override
16841 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16842 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCheckConstraint(this);
16843 else return visitor.visitChildren(this);
16844 }
16845 }
16846
16847 public final CheckConstraintContext checkConstraint() throws RecognitionException {
16848 CheckConstraintContext _localctx = new CheckConstraintContext(_ctx, getState());
16849 enterRule(_localctx, 352, RULE_checkConstraint);
16850 int _la;
16851 try {
16852 enterOuterAlt(_localctx, 1);
16853 {
16854 setState(2534);
16855 match(CHECK);
16856 setState(2538);
16857 _errHandler.sync(this);
16858 _la = _input.LA(1);
16859 if (_la==NOT) {
16860 {
16861 setState(2535);
16862 match(NOT);
16863 setState(2536);
16864 match(FOR);
16865 setState(2537);
16866 match(REPLICATION);
16867 }
16868 }
16869
16870 setState(2540);
16871 match(LP_);
16872 setState(2541);
16873 expr(0);
16874 setState(2542);
16875 match(RP_);
16876 }
16877 }
16878 catch (RecognitionException re) {
16879 _localctx.exception = re;
16880 _errHandler.reportError(this, re);
16881 _errHandler.recover(this, re);
16882 }
16883 finally {
16884 exitRule();
16885 }
16886 return _localctx;
16887 }
16888
16889 public static class ColumnIndexContext extends ParserRuleContext {
16890 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
16891 public IndexNameContext indexName() {
16892 return getRuleContext(IndexNameContext.class,0);
16893 }
16894 public ClusterOptionContext clusterOption() {
16895 return getRuleContext(ClusterOptionContext.class,0);
16896 }
16897 public WithIndexOptionContext withIndexOption() {
16898 return getRuleContext(WithIndexOptionContext.class,0);
16899 }
16900 public IndexOnClauseContext indexOnClause() {
16901 return getRuleContext(IndexOnClauseContext.class,0);
16902 }
16903 public FileStreamOnContext fileStreamOn() {
16904 return getRuleContext(FileStreamOnContext.class,0);
16905 }
16906 public ColumnIndexContext(ParserRuleContext parent, int invokingState) {
16907 super(parent, invokingState);
16908 }
16909 @Override public int getRuleIndex() { return RULE_columnIndex; }
16910 @Override
16911 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16912 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnIndex(this);
16913 else return visitor.visitChildren(this);
16914 }
16915 }
16916
16917 public final ColumnIndexContext columnIndex() throws RecognitionException {
16918 ColumnIndexContext _localctx = new ColumnIndexContext(_ctx, getState());
16919 enterRule(_localctx, 354, RULE_columnIndex);
16920 int _la;
16921 try {
16922 enterOuterAlt(_localctx, 1);
16923 {
16924 setState(2544);
16925 match(INDEX);
16926 setState(2545);
16927 indexName();
16928 setState(2547);
16929 _errHandler.sync(this);
16930 _la = _input.LA(1);
16931 if (_la==CLUSTERED || _la==NONCLUSTERED) {
16932 {
16933 setState(2546);
16934 clusterOption();
16935 }
16936 }
16937
16938 setState(2550);
16939 _errHandler.sync(this);
16940 switch ( getInterpreter().adaptivePredict(_input,197,_ctx) ) {
16941 case 1:
16942 {
16943 setState(2549);
16944 withIndexOption();
16945 }
16946 break;
16947 }
16948 setState(2553);
16949 _errHandler.sync(this);
16950 _la = _input.LA(1);
16951 if (_la==ON) {
16952 {
16953 setState(2552);
16954 indexOnClause();
16955 }
16956 }
16957
16958 setState(2556);
16959 _errHandler.sync(this);
16960 _la = _input.LA(1);
16961 if (_la==FILESTREAM_ON) {
16962 {
16963 setState(2555);
16964 fileStreamOn();
16965 }
16966 }
16967
16968 }
16969 }
16970 catch (RecognitionException re) {
16971 _localctx.exception = re;
16972 _errHandler.reportError(this, re);
16973 _errHandler.recover(this, re);
16974 }
16975 finally {
16976 exitRule();
16977 }
16978 return _localctx;
16979 }
16980
16981 public static class WithIndexOptionContext extends ParserRuleContext {
16982 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
16983 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16984 public List<IndexOptionContext> indexOption() {
16985 return getRuleContexts(IndexOptionContext.class);
16986 }
16987 public IndexOptionContext indexOption(int i) {
16988 return getRuleContext(IndexOptionContext.class,i);
16989 }
16990 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16991 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
16992 public TerminalNode COMMA_(int i) {
16993 return getToken(SQLServerStatementParser.COMMA_, i);
16994 }
16995 public WithIndexOptionContext(ParserRuleContext parent, int invokingState) {
16996 super(parent, invokingState);
16997 }
16998 @Override public int getRuleIndex() { return RULE_withIndexOption; }
16999 @Override
17000 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17001 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithIndexOption(this);
17002 else return visitor.visitChildren(this);
17003 }
17004 }
17005
17006 public final WithIndexOptionContext withIndexOption() throws RecognitionException {
17007 WithIndexOptionContext _localctx = new WithIndexOptionContext(_ctx, getState());
17008 enterRule(_localctx, 356, RULE_withIndexOption);
17009 int _la;
17010 try {
17011 enterOuterAlt(_localctx, 1);
17012 {
17013 setState(2558);
17014 match(WITH);
17015 setState(2559);
17016 match(LP_);
17017 setState(2560);
17018 indexOption();
17019 setState(2565);
17020 _errHandler.sync(this);
17021 _la = _input.LA(1);
17022 while (_la==COMMA_) {
17023 {
17024 {
17025 setState(2561);
17026 match(COMMA_);
17027 setState(2562);
17028 indexOption();
17029 }
17030 }
17031 setState(2567);
17032 _errHandler.sync(this);
17033 _la = _input.LA(1);
17034 }
17035 setState(2568);
17036 match(RP_);
17037 }
17038 }
17039 catch (RecognitionException re) {
17040 _localctx.exception = re;
17041 _errHandler.reportError(this, re);
17042 _errHandler.recover(this, re);
17043 }
17044 finally {
17045 exitRule();
17046 }
17047 return _localctx;
17048 }
17049
17050 public static class IndexOnClauseContext extends ParserRuleContext {
17051 public OnSchemaColumnContext onSchemaColumn() {
17052 return getRuleContext(OnSchemaColumnContext.class,0);
17053 }
17054 public OnFileGroupContext onFileGroup() {
17055 return getRuleContext(OnFileGroupContext.class,0);
17056 }
17057 public OnDefaultContext onDefault() {
17058 return getRuleContext(OnDefaultContext.class,0);
17059 }
17060 public IndexOnClauseContext(ParserRuleContext parent, int invokingState) {
17061 super(parent, invokingState);
17062 }
17063 @Override public int getRuleIndex() { return RULE_indexOnClause; }
17064 @Override
17065 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17066 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOnClause(this);
17067 else return visitor.visitChildren(this);
17068 }
17069 }
17070
17071 public final IndexOnClauseContext indexOnClause() throws RecognitionException {
17072 IndexOnClauseContext _localctx = new IndexOnClauseContext(_ctx, getState());
17073 enterRule(_localctx, 358, RULE_indexOnClause);
17074 try {
17075 setState(2573);
17076 _errHandler.sync(this);
17077 switch ( getInterpreter().adaptivePredict(_input,201,_ctx) ) {
17078 case 1:
17079 enterOuterAlt(_localctx, 1);
17080 {
17081 setState(2570);
17082 onSchemaColumn();
17083 }
17084 break;
17085 case 2:
17086 enterOuterAlt(_localctx, 2);
17087 {
17088 setState(2571);
17089 onFileGroup();
17090 }
17091 break;
17092 case 3:
17093 enterOuterAlt(_localctx, 3);
17094 {
17095 setState(2572);
17096 onDefault();
17097 }
17098 break;
17099 }
17100 }
17101 catch (RecognitionException re) {
17102 _localctx.exception = re;
17103 _errHandler.reportError(this, re);
17104 _errHandler.recover(this, re);
17105 }
17106 finally {
17107 exitRule();
17108 }
17109 return _localctx;
17110 }
17111
17112 public static class OnDefaultContext extends ParserRuleContext {
17113 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17114 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
17115 public OnDefaultContext(ParserRuleContext parent, int invokingState) {
17116 super(parent, invokingState);
17117 }
17118 @Override public int getRuleIndex() { return RULE_onDefault; }
17119 @Override
17120 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17121 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnDefault(this);
17122 else return visitor.visitChildren(this);
17123 }
17124 }
17125
17126 public final OnDefaultContext onDefault() throws RecognitionException {
17127 OnDefaultContext _localctx = new OnDefaultContext(_ctx, getState());
17128 enterRule(_localctx, 360, RULE_onDefault);
17129 try {
17130 enterOuterAlt(_localctx, 1);
17131 {
17132 setState(2575);
17133 match(ON);
17134 setState(2576);
17135 match(DEFAULT);
17136 }
17137 }
17138 catch (RecognitionException re) {
17139 _localctx.exception = re;
17140 _errHandler.reportError(this, re);
17141 _errHandler.recover(this, re);
17142 }
17143 finally {
17144 exitRule();
17145 }
17146 return _localctx;
17147 }
17148
17149 public static class FileStreamOnContext extends ParserRuleContext {
17150 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
17151 public IgnoredIdentifierContext ignoredIdentifier() {
17152 return getRuleContext(IgnoredIdentifierContext.class,0);
17153 }
17154 public SchemaNameContext schemaName() {
17155 return getRuleContext(SchemaNameContext.class,0);
17156 }
17157 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
17158 public FileStreamOnContext(ParserRuleContext parent, int invokingState) {
17159 super(parent, invokingState);
17160 }
17161 @Override public int getRuleIndex() { return RULE_fileStreamOn; }
17162 @Override
17163 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17164 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileStreamOn(this);
17165 else return visitor.visitChildren(this);
17166 }
17167 }
17168
17169 public final FileStreamOnContext fileStreamOn() throws RecognitionException {
17170 FileStreamOnContext _localctx = new FileStreamOnContext(_ctx, getState());
17171 enterRule(_localctx, 362, RULE_fileStreamOn);
17172 try {
17173 enterOuterAlt(_localctx, 1);
17174 {
17175 setState(2578);
17176 match(FILESTREAM_ON);
17177 setState(2582);
17178 _errHandler.sync(this);
17179 switch ( getInterpreter().adaptivePredict(_input,202,_ctx) ) {
17180 case 1:
17181 {
17182 setState(2579);
17183 ignoredIdentifier();
17184 }
17185 break;
17186 case 2:
17187 {
17188 setState(2580);
17189 schemaName();
17190 }
17191 break;
17192 case 3:
17193 {
17194 setState(2581);
17195 match(STRING_);
17196 }
17197 break;
17198 }
17199 }
17200 }
17201 catch (RecognitionException re) {
17202 _localctx.exception = re;
17203 _errHandler.reportError(this, re);
17204 _errHandler.recover(this, re);
17205 }
17206 finally {
17207 exitRule();
17208 }
17209 return _localctx;
17210 }
17211
17212 public static class ColumnConstraintsContext extends ParserRuleContext {
17213 public List<ColumnConstraintContext> columnConstraint() {
17214 return getRuleContexts(ColumnConstraintContext.class);
17215 }
17216 public ColumnConstraintContext columnConstraint(int i) {
17217 return getRuleContext(ColumnConstraintContext.class,i);
17218 }
17219 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
17220 public TerminalNode COMMA_(int i) {
17221 return getToken(SQLServerStatementParser.COMMA_, i);
17222 }
17223 public ColumnConstraintsContext(ParserRuleContext parent, int invokingState) {
17224 super(parent, invokingState);
17225 }
17226 @Override public int getRuleIndex() { return RULE_columnConstraints; }
17227 @Override
17228 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17229 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnConstraints(this);
17230 else return visitor.visitChildren(this);
17231 }
17232 }
17233
17234 public final ColumnConstraintsContext columnConstraints() throws RecognitionException {
17235 ColumnConstraintsContext _localctx = new ColumnConstraintsContext(_ctx, getState());
17236 enterRule(_localctx, 364, RULE_columnConstraints);
17237 try {
17238 int _alt;
17239 enterOuterAlt(_localctx, 1);
17240 {
17241 setState(2592);
17242 _errHandler.sync(this);
17243 switch ( getInterpreter().adaptivePredict(_input,204,_ctx) ) {
17244 case 1:
17245 {
17246 setState(2584);
17247 columnConstraint();
17248 setState(2589);
17249 _errHandler.sync(this);
17250 _alt = getInterpreter().adaptivePredict(_input,203,_ctx);
17251 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
17252 if ( _alt==1 ) {
17253 {
17254 {
17255 setState(2585);
17256 match(COMMA_);
17257 setState(2586);
17258 columnConstraint();
17259 }
17260 }
17261 }
17262 setState(2591);
17263 _errHandler.sync(this);
17264 _alt = getInterpreter().adaptivePredict(_input,203,_ctx);
17265 }
17266 }
17267 break;
17268 }
17269 }
17270 }
17271 catch (RecognitionException re) {
17272 _localctx.exception = re;
17273 _errHandler.reportError(this, re);
17274 _errHandler.recover(this, re);
17275 }
17276 finally {
17277 exitRule();
17278 }
17279 return _localctx;
17280 }
17281
17282 public static class ComputedColumnDefinitionContext extends ParserRuleContext {
17283 public ColumnNameContext columnName() {
17284 return getRuleContext(ColumnNameContext.class,0);
17285 }
17286 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
17287 public ExprContext expr() {
17288 return getRuleContext(ExprContext.class,0);
17289 }
17290 public TerminalNode PERSISTED() { return getToken(SQLServerStatementParser.PERSISTED, 0); }
17291 public ComputedColumnConstraintContext computedColumnConstraint() {
17292 return getRuleContext(ComputedColumnConstraintContext.class,0);
17293 }
17294 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
17295 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
17296 public ComputedColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
17297 super(parent, invokingState);
17298 }
17299 @Override public int getRuleIndex() { return RULE_computedColumnDefinition; }
17300 @Override
17301 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17302 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnDefinition(this);
17303 else return visitor.visitChildren(this);
17304 }
17305 }
17306
17307 public final ComputedColumnDefinitionContext computedColumnDefinition() throws RecognitionException {
17308 ComputedColumnDefinitionContext _localctx = new ComputedColumnDefinitionContext(_ctx, getState());
17309 enterRule(_localctx, 366, RULE_computedColumnDefinition);
17310 int _la;
17311 try {
17312 enterOuterAlt(_localctx, 1);
17313 {
17314 setState(2594);
17315 columnName();
17316 setState(2595);
17317 match(AS);
17318 setState(2596);
17319 expr(0);
17320 setState(2602);
17321 _errHandler.sync(this);
17322 switch ( getInterpreter().adaptivePredict(_input,206,_ctx) ) {
17323 case 1:
17324 {
17325 setState(2597);
17326 match(PERSISTED);
17327 setState(2600);
17328 _errHandler.sync(this);
17329 _la = _input.LA(1);
17330 if (_la==NOT) {
17331 {
17332 setState(2598);
17333 match(NOT);
17334 setState(2599);
17335 match(NULL);
17336 }
17337 }
17338
17339 }
17340 break;
17341 }
17342 setState(2605);
17343 _errHandler.sync(this);
17344 switch ( getInterpreter().adaptivePredict(_input,207,_ctx) ) {
17345 case 1:
17346 {
17347 setState(2604);
17348 computedColumnConstraint();
17349 }
17350 break;
17351 }
17352 }
17353 }
17354 catch (RecognitionException re) {
17355 _localctx.exception = re;
17356 _errHandler.reportError(this, re);
17357 _errHandler.recover(this, re);
17358 }
17359 finally {
17360 exitRule();
17361 }
17362 return _localctx;
17363 }
17364
17365 public static class ColumnSetDefinitionContext extends ParserRuleContext {
17366 public IgnoredIdentifierContext ignoredIdentifier() {
17367 return getRuleContext(IgnoredIdentifierContext.class,0);
17368 }
17369 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
17370 public TerminalNode COLUMN_SET() { return getToken(SQLServerStatementParser.COLUMN_SET, 0); }
17371 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
17372 public TerminalNode ALL_SPARSE_COLUMNS() { return getToken(SQLServerStatementParser.ALL_SPARSE_COLUMNS, 0); }
17373 public ColumnSetDefinitionContext(ParserRuleContext parent, int invokingState) {
17374 super(parent, invokingState);
17375 }
17376 @Override public int getRuleIndex() { return RULE_columnSetDefinition; }
17377 @Override
17378 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17379 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnSetDefinition(this);
17380 else return visitor.visitChildren(this);
17381 }
17382 }
17383
17384 public final ColumnSetDefinitionContext columnSetDefinition() throws RecognitionException {
17385 ColumnSetDefinitionContext _localctx = new ColumnSetDefinitionContext(_ctx, getState());
17386 enterRule(_localctx, 368, RULE_columnSetDefinition);
17387 try {
17388 enterOuterAlt(_localctx, 1);
17389 {
17390 setState(2607);
17391 ignoredIdentifier();
17392 setState(2608);
17393 match(IDENTIFIER_);
17394 setState(2609);
17395 match(COLUMN_SET);
17396 setState(2610);
17397 match(FOR);
17398 setState(2611);
17399 match(ALL_SPARSE_COLUMNS);
17400 }
17401 }
17402 catch (RecognitionException re) {
17403 _localctx.exception = re;
17404 _errHandler.reportError(this, re);
17405 _errHandler.recover(this, re);
17406 }
17407 finally {
17408 exitRule();
17409 }
17410 return _localctx;
17411 }
17412
17413 public static class TableConstraintContext extends ParserRuleContext {
17414 public TablePrimaryConstraintContext tablePrimaryConstraint() {
17415 return getRuleContext(TablePrimaryConstraintContext.class,0);
17416 }
17417 public TableForeignKeyConstraintContext tableForeignKeyConstraint() {
17418 return getRuleContext(TableForeignKeyConstraintContext.class,0);
17419 }
17420 public CheckConstraintContext checkConstraint() {
17421 return getRuleContext(CheckConstraintContext.class,0);
17422 }
17423 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
17424 public ConstraintNameContext constraintName() {
17425 return getRuleContext(ConstraintNameContext.class,0);
17426 }
17427 public TableConstraintContext(ParserRuleContext parent, int invokingState) {
17428 super(parent, invokingState);
17429 }
17430 @Override public int getRuleIndex() { return RULE_tableConstraint; }
17431 @Override
17432 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17433 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableConstraint(this);
17434 else return visitor.visitChildren(this);
17435 }
17436 }
17437
17438 public final TableConstraintContext tableConstraint() throws RecognitionException {
17439 TableConstraintContext _localctx = new TableConstraintContext(_ctx, getState());
17440 enterRule(_localctx, 370, RULE_tableConstraint);
17441 int _la;
17442 try {
17443 enterOuterAlt(_localctx, 1);
17444 {
17445 setState(2615);
17446 _errHandler.sync(this);
17447 _la = _input.LA(1);
17448 if (_la==CONSTRAINT) {
17449 {
17450 setState(2613);
17451 match(CONSTRAINT);
17452 setState(2614);
17453 constraintName();
17454 }
17455 }
17456
17457 setState(2620);
17458 _errHandler.sync(this);
17459 switch (_input.LA(1)) {
17460 case PRIMARY:
17461 case UNIQUE:
17462 case KEY:
17463 {
17464 setState(2617);
17465 tablePrimaryConstraint();
17466 }
17467 break;
17468 case LP_:
17469 case FOREIGN:
17470 {
17471 setState(2618);
17472 tableForeignKeyConstraint();
17473 }
17474 break;
17475 case CHECK:
17476 {
17477 setState(2619);
17478 checkConstraint();
17479 }
17480 break;
17481 default:
17482 throw new NoViableAltException(this);
17483 }
17484 }
17485 }
17486 catch (RecognitionException re) {
17487 _localctx.exception = re;
17488 _errHandler.reportError(this, re);
17489 _errHandler.recover(this, re);
17490 }
17491 finally {
17492 exitRule();
17493 }
17494 return _localctx;
17495 }
17496
17497 public static class TablePrimaryConstraintContext extends ParserRuleContext {
17498 public PrimaryKeyUniqueContext primaryKeyUnique() {
17499 return getRuleContext(PrimaryKeyUniqueContext.class,0);
17500 }
17501 public DiskTablePrimaryConstraintOptionContext diskTablePrimaryConstraintOption() {
17502 return getRuleContext(DiskTablePrimaryConstraintOptionContext.class,0);
17503 }
17504 public MemoryTablePrimaryConstraintOptionContext memoryTablePrimaryConstraintOption() {
17505 return getRuleContext(MemoryTablePrimaryConstraintOptionContext.class,0);
17506 }
17507 public TablePrimaryConstraintContext(ParserRuleContext parent, int invokingState) {
17508 super(parent, invokingState);
17509 }
17510 @Override public int getRuleIndex() { return RULE_tablePrimaryConstraint; }
17511 @Override
17512 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17513 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTablePrimaryConstraint(this);
17514 else return visitor.visitChildren(this);
17515 }
17516 }
17517
17518 public final TablePrimaryConstraintContext tablePrimaryConstraint() throws RecognitionException {
17519 TablePrimaryConstraintContext _localctx = new TablePrimaryConstraintContext(_ctx, getState());
17520 enterRule(_localctx, 372, RULE_tablePrimaryConstraint);
17521 try {
17522 enterOuterAlt(_localctx, 1);
17523 {
17524 setState(2622);
17525 primaryKeyUnique();
17526 setState(2625);
17527 _errHandler.sync(this);
17528 switch ( getInterpreter().adaptivePredict(_input,210,_ctx) ) {
17529 case 1:
17530 {
17531 setState(2623);
17532 diskTablePrimaryConstraintOption();
17533 }
17534 break;
17535 case 2:
17536 {
17537 setState(2624);
17538 memoryTablePrimaryConstraintOption();
17539 }
17540 break;
17541 }
17542 }
17543 }
17544 catch (RecognitionException re) {
17545 _localctx.exception = re;
17546 _errHandler.reportError(this, re);
17547 _errHandler.recover(this, re);
17548 }
17549 finally {
17550 exitRule();
17551 }
17552 return _localctx;
17553 }
17554
17555 public static class PrimaryKeyUniqueContext extends ParserRuleContext {
17556 public PrimaryKeyContext primaryKey() {
17557 return getRuleContext(PrimaryKeyContext.class,0);
17558 }
17559 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
17560 public PrimaryKeyUniqueContext(ParserRuleContext parent, int invokingState) {
17561 super(parent, invokingState);
17562 }
17563 @Override public int getRuleIndex() { return RULE_primaryKeyUnique; }
17564 @Override
17565 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17566 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyUnique(this);
17567 else return visitor.visitChildren(this);
17568 }
17569 }
17570
17571 public final PrimaryKeyUniqueContext primaryKeyUnique() throws RecognitionException {
17572 PrimaryKeyUniqueContext _localctx = new PrimaryKeyUniqueContext(_ctx, getState());
17573 enterRule(_localctx, 374, RULE_primaryKeyUnique);
17574 try {
17575 setState(2629);
17576 _errHandler.sync(this);
17577 switch (_input.LA(1)) {
17578 case PRIMARY:
17579 case KEY:
17580 enterOuterAlt(_localctx, 1);
17581 {
17582 setState(2627);
17583 primaryKey();
17584 }
17585 break;
17586 case UNIQUE:
17587 enterOuterAlt(_localctx, 2);
17588 {
17589 setState(2628);
17590 match(UNIQUE);
17591 }
17592 break;
17593 default:
17594 throw new NoViableAltException(this);
17595 }
17596 }
17597 catch (RecognitionException re) {
17598 _localctx.exception = re;
17599 _errHandler.reportError(this, re);
17600 _errHandler.recover(this, re);
17601 }
17602 finally {
17603 exitRule();
17604 }
17605 return _localctx;
17606 }
17607
17608 public static class DiskTablePrimaryConstraintOptionContext extends ParserRuleContext {
17609 public ColumnNamesContext columnNames() {
17610 return getRuleContext(ColumnNamesContext.class,0);
17611 }
17612 public ClusterOptionContext clusterOption() {
17613 return getRuleContext(ClusterOptionContext.class,0);
17614 }
17615 public PrimaryKeyWithClauseContext primaryKeyWithClause() {
17616 return getRuleContext(PrimaryKeyWithClauseContext.class,0);
17617 }
17618 public PrimaryKeyOnClauseContext primaryKeyOnClause() {
17619 return getRuleContext(PrimaryKeyOnClauseContext.class,0);
17620 }
17621 public DiskTablePrimaryConstraintOptionContext(ParserRuleContext parent, int invokingState) {
17622 super(parent, invokingState);
17623 }
17624 @Override public int getRuleIndex() { return RULE_diskTablePrimaryConstraintOption; }
17625 @Override
17626 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17627 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDiskTablePrimaryConstraintOption(this);
17628 else return visitor.visitChildren(this);
17629 }
17630 }
17631
17632 public final DiskTablePrimaryConstraintOptionContext diskTablePrimaryConstraintOption() throws RecognitionException {
17633 DiskTablePrimaryConstraintOptionContext _localctx = new DiskTablePrimaryConstraintOptionContext(_ctx, getState());
17634 enterRule(_localctx, 376, RULE_diskTablePrimaryConstraintOption);
17635 int _la;
17636 try {
17637 enterOuterAlt(_localctx, 1);
17638 {
17639 setState(2632);
17640 _errHandler.sync(this);
17641 _la = _input.LA(1);
17642 if (_la==CLUSTERED || _la==NONCLUSTERED) {
17643 {
17644 setState(2631);
17645 clusterOption();
17646 }
17647 }
17648
17649 setState(2634);
17650 columnNames();
17651 setState(2636);
17652 _errHandler.sync(this);
17653 switch ( getInterpreter().adaptivePredict(_input,213,_ctx) ) {
17654 case 1:
17655 {
17656 setState(2635);
17657 primaryKeyWithClause();
17658 }
17659 break;
17660 }
17661 setState(2639);
17662 _errHandler.sync(this);
17663 _la = _input.LA(1);
17664 if (_la==ON) {
17665 {
17666 setState(2638);
17667 primaryKeyOnClause();
17668 }
17669 }
17670
17671 }
17672 }
17673 catch (RecognitionException re) {
17674 _localctx.exception = re;
17675 _errHandler.reportError(this, re);
17676 _errHandler.recover(this, re);
17677 }
17678 finally {
17679 exitRule();
17680 }
17681 return _localctx;
17682 }
17683
17684 public static class MemoryTablePrimaryConstraintOptionContext extends ParserRuleContext {
17685 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
17686 public ColumnNamesContext columnNames() {
17687 return getRuleContext(ColumnNamesContext.class,0);
17688 }
17689 public HashWithBucketContext hashWithBucket() {
17690 return getRuleContext(HashWithBucketContext.class,0);
17691 }
17692 public MemoryTablePrimaryConstraintOptionContext(ParserRuleContext parent, int invokingState) {
17693 super(parent, invokingState);
17694 }
17695 @Override public int getRuleIndex() { return RULE_memoryTablePrimaryConstraintOption; }
17696 @Override
17697 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17698 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMemoryTablePrimaryConstraintOption(this);
17699 else return visitor.visitChildren(this);
17700 }
17701 }
17702
17703 public final MemoryTablePrimaryConstraintOptionContext memoryTablePrimaryConstraintOption() throws RecognitionException {
17704 MemoryTablePrimaryConstraintOptionContext _localctx = new MemoryTablePrimaryConstraintOptionContext(_ctx, getState());
17705 enterRule(_localctx, 378, RULE_memoryTablePrimaryConstraintOption);
17706 try {
17707 enterOuterAlt(_localctx, 1);
17708 {
17709 setState(2641);
17710 match(NONCLUSTERED);
17711 setState(2644);
17712 _errHandler.sync(this);
17713 switch (_input.LA(1)) {
17714 case LP_:
17715 {
17716 setState(2642);
17717 columnNames();
17718 }
17719 break;
17720 case HASH:
17721 {
17722 setState(2643);
17723 hashWithBucket();
17724 }
17725 break;
17726 default:
17727 throw new NoViableAltException(this);
17728 }
17729 }
17730 }
17731 catch (RecognitionException re) {
17732 _localctx.exception = re;
17733 _errHandler.reportError(this, re);
17734 _errHandler.recover(this, re);
17735 }
17736 finally {
17737 exitRule();
17738 }
17739 return _localctx;
17740 }
17741
17742 public static class HashWithBucketContext extends ParserRuleContext {
17743 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
17744 public ColumnNamesContext columnNames() {
17745 return getRuleContext(ColumnNamesContext.class,0);
17746 }
17747 public WithBucketContext withBucket() {
17748 return getRuleContext(WithBucketContext.class,0);
17749 }
17750 public HashWithBucketContext(ParserRuleContext parent, int invokingState) {
17751 super(parent, invokingState);
17752 }
17753 @Override public int getRuleIndex() { return RULE_hashWithBucket; }
17754 @Override
17755 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17756 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHashWithBucket(this);
17757 else return visitor.visitChildren(this);
17758 }
17759 }
17760
17761 public final HashWithBucketContext hashWithBucket() throws RecognitionException {
17762 HashWithBucketContext _localctx = new HashWithBucketContext(_ctx, getState());
17763 enterRule(_localctx, 380, RULE_hashWithBucket);
17764 try {
17765 enterOuterAlt(_localctx, 1);
17766 {
17767 setState(2646);
17768 match(HASH);
17769 setState(2647);
17770 columnNames();
17771 setState(2648);
17772 withBucket();
17773 }
17774 }
17775 catch (RecognitionException re) {
17776 _localctx.exception = re;
17777 _errHandler.reportError(this, re);
17778 _errHandler.recover(this, re);
17779 }
17780 finally {
17781 exitRule();
17782 }
17783 return _localctx;
17784 }
17785
17786 public static class TableForeignKeyConstraintContext extends ParserRuleContext {
17787 public List<ColumnNamesContext> columnNames() {
17788 return getRuleContexts(ColumnNamesContext.class);
17789 }
17790 public ColumnNamesContext columnNames(int i) {
17791 return getRuleContext(ColumnNamesContext.class,i);
17792 }
17793 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
17794 public TableNameContext tableName() {
17795 return getRuleContext(TableNameContext.class,0);
17796 }
17797 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
17798 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
17799 public List<ForeignKeyOnActionContext> foreignKeyOnAction() {
17800 return getRuleContexts(ForeignKeyOnActionContext.class);
17801 }
17802 public ForeignKeyOnActionContext foreignKeyOnAction(int i) {
17803 return getRuleContext(ForeignKeyOnActionContext.class,i);
17804 }
17805 public TableForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
17806 super(parent, invokingState);
17807 }
17808 @Override public int getRuleIndex() { return RULE_tableForeignKeyConstraint; }
17809 @Override
17810 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17811 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableForeignKeyConstraint(this);
17812 else return visitor.visitChildren(this);
17813 }
17814 }
17815
17816 public final TableForeignKeyConstraintContext tableForeignKeyConstraint() throws RecognitionException {
17817 TableForeignKeyConstraintContext _localctx = new TableForeignKeyConstraintContext(_ctx, getState());
17818 enterRule(_localctx, 382, RULE_tableForeignKeyConstraint);
17819 int _la;
17820 try {
17821 enterOuterAlt(_localctx, 1);
17822 {
17823 setState(2652);
17824 _errHandler.sync(this);
17825 _la = _input.LA(1);
17826 if (_la==FOREIGN) {
17827 {
17828 setState(2650);
17829 match(FOREIGN);
17830 setState(2651);
17831 match(KEY);
17832 }
17833 }
17834
17835 setState(2654);
17836 columnNames();
17837 setState(2655);
17838 match(REFERENCES);
17839 setState(2656);
17840 tableName();
17841 setState(2657);
17842 columnNames();
17843 setState(2661);
17844 _errHandler.sync(this);
17845 _la = _input.LA(1);
17846 while (_la==ON || _la==NOT) {
17847 {
17848 {
17849 setState(2658);
17850 foreignKeyOnAction();
17851 }
17852 }
17853 setState(2663);
17854 _errHandler.sync(this);
17855 _la = _input.LA(1);
17856 }
17857 }
17858 }
17859 catch (RecognitionException re) {
17860 _localctx.exception = re;
17861 _errHandler.reportError(this, re);
17862 _errHandler.recover(this, re);
17863 }
17864 finally {
17865 exitRule();
17866 }
17867 return _localctx;
17868 }
17869
17870 public static class TableIndexContext extends ParserRuleContext {
17871 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
17872 public IndexNameContext indexName() {
17873 return getRuleContext(IndexNameContext.class,0);
17874 }
17875 public IndexNameOptionContext indexNameOption() {
17876 return getRuleContext(IndexNameOptionContext.class,0);
17877 }
17878 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
17879 public IndexOptionsContext indexOptions() {
17880 return getRuleContext(IndexOptionsContext.class,0);
17881 }
17882 public IndexOnClauseContext indexOnClause() {
17883 return getRuleContext(IndexOnClauseContext.class,0);
17884 }
17885 public FileStreamOnContext fileStreamOn() {
17886 return getRuleContext(FileStreamOnContext.class,0);
17887 }
17888 public TableIndexContext(ParserRuleContext parent, int invokingState) {
17889 super(parent, invokingState);
17890 }
17891 @Override public int getRuleIndex() { return RULE_tableIndex; }
17892 @Override
17893 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17894 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableIndex(this);
17895 else return visitor.visitChildren(this);
17896 }
17897 }
17898
17899 public final TableIndexContext tableIndex() throws RecognitionException {
17900 TableIndexContext _localctx = new TableIndexContext(_ctx, getState());
17901 enterRule(_localctx, 384, RULE_tableIndex);
17902 int _la;
17903 try {
17904 enterOuterAlt(_localctx, 1);
17905 {
17906 setState(2664);
17907 match(INDEX);
17908 setState(2665);
17909 indexName();
17910 setState(2666);
17911 indexNameOption();
17912 setState(2669);
17913 _errHandler.sync(this);
17914 _la = _input.LA(1);
17915 if (_la==WITH) {
17916 {
17917 setState(2667);
17918 match(WITH);
17919 setState(2668);
17920 indexOptions();
17921 }
17922 }
17923
17924 setState(2672);
17925 _errHandler.sync(this);
17926 _la = _input.LA(1);
17927 if (_la==ON) {
17928 {
17929 setState(2671);
17930 indexOnClause();
17931 }
17932 }
17933
17934 setState(2675);
17935 _errHandler.sync(this);
17936 _la = _input.LA(1);
17937 if (_la==FILESTREAM_ON) {
17938 {
17939 setState(2674);
17940 fileStreamOn();
17941 }
17942 }
17943
17944 }
17945 }
17946 catch (RecognitionException re) {
17947 _localctx.exception = re;
17948 _errHandler.reportError(this, re);
17949 _errHandler.recover(this, re);
17950 }
17951 finally {
17952 exitRule();
17953 }
17954 return _localctx;
17955 }
17956
17957 public static class IndexNameOptionContext extends ParserRuleContext {
17958 public ColumnNamesContext columnNames() {
17959 return getRuleContext(ColumnNamesContext.class,0);
17960 }
17961 public ClusterOptionContext clusterOption() {
17962 return getRuleContext(ClusterOptionContext.class,0);
17963 }
17964 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
17965 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
17966 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
17967 public IndexNameOptionContext(ParserRuleContext parent, int invokingState) {
17968 super(parent, invokingState);
17969 }
17970 @Override public int getRuleIndex() { return RULE_indexNameOption; }
17971 @Override
17972 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17973 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexNameOption(this);
17974 else return visitor.visitChildren(this);
17975 }
17976 }
17977
17978 public final IndexNameOptionContext indexNameOption() throws RecognitionException {
17979 IndexNameOptionContext _localctx = new IndexNameOptionContext(_ctx, getState());
17980 enterRule(_localctx, 386, RULE_indexNameOption);
17981 int _la;
17982 try {
17983 setState(2688);
17984 _errHandler.sync(this);
17985 switch ( getInterpreter().adaptivePredict(_input,223,_ctx) ) {
17986 case 1:
17987 enterOuterAlt(_localctx, 1);
17988 {
17989 setState(2678);
17990 _errHandler.sync(this);
17991 _la = _input.LA(1);
17992 if (_la==CLUSTERED || _la==NONCLUSTERED) {
17993 {
17994 setState(2677);
17995 clusterOption();
17996 }
17997 }
17998
17999 setState(2680);
18000 columnNames();
18001 }
18002 break;
18003 case 2:
18004 enterOuterAlt(_localctx, 2);
18005 {
18006 setState(2681);
18007 match(CLUSTERED);
18008 setState(2682);
18009 match(COLUMNSTORE);
18010 }
18011 break;
18012 case 3:
18013 enterOuterAlt(_localctx, 3);
18014 {
18015 setState(2684);
18016 _errHandler.sync(this);
18017 _la = _input.LA(1);
18018 if (_la==NONCLUSTERED) {
18019 {
18020 setState(2683);
18021 match(NONCLUSTERED);
18022 }
18023 }
18024
18025 setState(2686);
18026 match(COLUMNSTORE);
18027 setState(2687);
18028 columnNames();
18029 }
18030 break;
18031 }
18032 }
18033 catch (RecognitionException re) {
18034 _localctx.exception = re;
18035 _errHandler.reportError(this, re);
18036 _errHandler.recover(this, re);
18037 }
18038 finally {
18039 exitRule();
18040 }
18041 return _localctx;
18042 }
18043
18044 public static class IndexOptionsContext extends ParserRuleContext {
18045 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18046 public List<IndexOptionContext> indexOption() {
18047 return getRuleContexts(IndexOptionContext.class);
18048 }
18049 public IndexOptionContext indexOption(int i) {
18050 return getRuleContext(IndexOptionContext.class,i);
18051 }
18052 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18053 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
18054 public TerminalNode COMMA_(int i) {
18055 return getToken(SQLServerStatementParser.COMMA_, i);
18056 }
18057 public IndexOptionsContext(ParserRuleContext parent, int invokingState) {
18058 super(parent, invokingState);
18059 }
18060 @Override public int getRuleIndex() { return RULE_indexOptions; }
18061 @Override
18062 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18063 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOptions(this);
18064 else return visitor.visitChildren(this);
18065 }
18066 }
18067
18068 public final IndexOptionsContext indexOptions() throws RecognitionException {
18069 IndexOptionsContext _localctx = new IndexOptionsContext(_ctx, getState());
18070 enterRule(_localctx, 388, RULE_indexOptions);
18071 int _la;
18072 try {
18073 enterOuterAlt(_localctx, 1);
18074 {
18075 setState(2690);
18076 match(LP_);
18077 setState(2691);
18078 indexOption();
18079 setState(2696);
18080 _errHandler.sync(this);
18081 _la = _input.LA(1);
18082 while (_la==COMMA_) {
18083 {
18084 {
18085 setState(2692);
18086 match(COMMA_);
18087 setState(2693);
18088 indexOption();
18089 }
18090 }
18091 setState(2698);
18092 _errHandler.sync(this);
18093 _la = _input.LA(1);
18094 }
18095 setState(2699);
18096 match(RP_);
18097 }
18098 }
18099 catch (RecognitionException re) {
18100 _localctx.exception = re;
18101 _errHandler.reportError(this, re);
18102 _errHandler.recover(this, re);
18103 }
18104 finally {
18105 exitRule();
18106 }
18107 return _localctx;
18108 }
18109
18110 public static class PeriodClauseContext extends ParserRuleContext {
18111 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
18112 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
18113 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
18114 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18115 public List<ColumnNameContext> columnName() {
18116 return getRuleContexts(ColumnNameContext.class);
18117 }
18118 public ColumnNameContext columnName(int i) {
18119 return getRuleContext(ColumnNameContext.class,i);
18120 }
18121 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
18122 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18123 public PeriodClauseContext(ParserRuleContext parent, int invokingState) {
18124 super(parent, invokingState);
18125 }
18126 @Override public int getRuleIndex() { return RULE_periodClause; }
18127 @Override
18128 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18129 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPeriodClause(this);
18130 else return visitor.visitChildren(this);
18131 }
18132 }
18133
18134 public final PeriodClauseContext periodClause() throws RecognitionException {
18135 PeriodClauseContext _localctx = new PeriodClauseContext(_ctx, getState());
18136 enterRule(_localctx, 390, RULE_periodClause);
18137 try {
18138 enterOuterAlt(_localctx, 1);
18139 {
18140 setState(2701);
18141 match(PERIOD);
18142 setState(2702);
18143 match(FOR);
18144 setState(2703);
18145 match(SYSTEM_TIME);
18146 setState(2704);
18147 match(LP_);
18148 setState(2705);
18149 columnName();
18150 setState(2706);
18151 match(COMMA_);
18152 setState(2707);
18153 columnName();
18154 setState(2708);
18155 match(RP_);
18156 }
18157 }
18158 catch (RecognitionException re) {
18159 _localctx.exception = re;
18160 _errHandler.reportError(this, re);
18161 _errHandler.recover(this, re);
18162 }
18163 finally {
18164 exitRule();
18165 }
18166 return _localctx;
18167 }
18168
18169 public static class PartitionSchemeContext extends ParserRuleContext {
18170 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
18171 public SchemaNameContext schemaName() {
18172 return getRuleContext(SchemaNameContext.class,0);
18173 }
18174 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18175 public ColumnNameContext columnName() {
18176 return getRuleContext(ColumnNameContext.class,0);
18177 }
18178 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18179 public IgnoredIdentifierContext ignoredIdentifier() {
18180 return getRuleContext(IgnoredIdentifierContext.class,0);
18181 }
18182 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
18183 public PartitionSchemeContext(ParserRuleContext parent, int invokingState) {
18184 super(parent, invokingState);
18185 }
18186 @Override public int getRuleIndex() { return RULE_partitionScheme; }
18187 @Override
18188 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18189 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionScheme(this);
18190 else return visitor.visitChildren(this);
18191 }
18192 }
18193
18194 public final PartitionSchemeContext partitionScheme() throws RecognitionException {
18195 PartitionSchemeContext _localctx = new PartitionSchemeContext(_ctx, getState());
18196 enterRule(_localctx, 392, RULE_partitionScheme);
18197 int _la;
18198 try {
18199 enterOuterAlt(_localctx, 1);
18200 {
18201 setState(2720);
18202 _errHandler.sync(this);
18203 _la = _input.LA(1);
18204 if (_la==ON) {
18205 {
18206 setState(2710);
18207 match(ON);
18208 setState(2718);
18209 _errHandler.sync(this);
18210 switch ( getInterpreter().adaptivePredict(_input,225,_ctx) ) {
18211 case 1:
18212 {
18213 setState(2711);
18214 schemaName();
18215 setState(2712);
18216 match(LP_);
18217 setState(2713);
18218 columnName();
18219 setState(2714);
18220 match(RP_);
18221 }
18222 break;
18223 case 2:
18224 {
18225 setState(2716);
18226 ignoredIdentifier();
18227 }
18228 break;
18229 case 3:
18230 {
18231 setState(2717);
18232 match(STRING_);
18233 }
18234 break;
18235 }
18236 }
18237 }
18238
18239 }
18240 }
18241 catch (RecognitionException re) {
18242 _localctx.exception = re;
18243 _errHandler.reportError(this, re);
18244 _errHandler.recover(this, re);
18245 }
18246 finally {
18247 exitRule();
18248 }
18249 return _localctx;
18250 }
18251
18252 public static class FileGroupContext extends ParserRuleContext {
18253 public TerminalNode TEXTIMAGE_ON() { return getToken(SQLServerStatementParser.TEXTIMAGE_ON, 0); }
18254 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
18255 public TableOptionsContext tableOptions() {
18256 return getRuleContext(TableOptionsContext.class,0);
18257 }
18258 public List<IgnoredIdentifierContext> ignoredIdentifier() {
18259 return getRuleContexts(IgnoredIdentifierContext.class);
18260 }
18261 public IgnoredIdentifierContext ignoredIdentifier(int i) {
18262 return getRuleContext(IgnoredIdentifierContext.class,i);
18263 }
18264 public List<TerminalNode> STRING_() { return getTokens(SQLServerStatementParser.STRING_); }
18265 public TerminalNode STRING_(int i) {
18266 return getToken(SQLServerStatementParser.STRING_, i);
18267 }
18268 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
18269 public SchemaNameContext schemaName() {
18270 return getRuleContext(SchemaNameContext.class,0);
18271 }
18272 public FileGroupContext(ParserRuleContext parent, int invokingState) {
18273 super(parent, invokingState);
18274 }
18275 @Override public int getRuleIndex() { return RULE_fileGroup; }
18276 @Override
18277 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18278 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileGroup(this);
18279 else return visitor.visitChildren(this);
18280 }
18281 }
18282
18283 public final FileGroupContext fileGroup() throws RecognitionException {
18284 FileGroupContext _localctx = new FileGroupContext(_ctx, getState());
18285 enterRule(_localctx, 394, RULE_fileGroup);
18286 int _la;
18287 try {
18288 enterOuterAlt(_localctx, 1);
18289 {
18290 setState(2727);
18291 _errHandler.sync(this);
18292 _la = _input.LA(1);
18293 if (_la==TEXTIMAGE_ON) {
18294 {
18295 setState(2722);
18296 match(TEXTIMAGE_ON);
18297 setState(2725);
18298 _errHandler.sync(this);
18299 switch (_input.LA(1)) {
18300 case IDENTIFIER_:
18301 {
18302 setState(2723);
18303 ignoredIdentifier();
18304 }
18305 break;
18306 case STRING_:
18307 {
18308 setState(2724);
18309 match(STRING_);
18310 }
18311 break;
18312 default:
18313 throw new NoViableAltException(this);
18314 }
18315 }
18316 }
18317
18318 setState(2736);
18319 _errHandler.sync(this);
18320 _la = _input.LA(1);
18321 if (_la==FILESTREAM_ON || _la==IDENTIFIER_) {
18322 {
18323 setState(2734);
18324 _errHandler.sync(this);
18325 switch (_input.LA(1)) {
18326 case FILESTREAM_ON:
18327 {
18328 setState(2729);
18329 match(FILESTREAM_ON);
18330 {
18331 setState(2730);
18332 schemaName();
18333 }
18334 }
18335 break;
18336 case IDENTIFIER_:
18337 {
18338 setState(2731);
18339 ignoredIdentifier();
18340 setState(2732);
18341 match(STRING_);
18342 }
18343 break;
18344 default:
18345 throw new NoViableAltException(this);
18346 }
18347 }
18348 }
18349
18350 setState(2740);
18351 _errHandler.sync(this);
18352 switch ( getInterpreter().adaptivePredict(_input,231,_ctx) ) {
18353 case 1:
18354 {
18355 setState(2738);
18356 match(WITH);
18357 setState(2739);
18358 tableOptions();
18359 }
18360 break;
18361 }
18362 }
18363 }
18364 catch (RecognitionException re) {
18365 _localctx.exception = re;
18366 _errHandler.reportError(this, re);
18367 _errHandler.recover(this, re);
18368 }
18369 finally {
18370 exitRule();
18371 }
18372 return _localctx;
18373 }
18374
18375 public static class TableOptionsContext extends ParserRuleContext {
18376 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18377 public List<TableOptionContext> tableOption() {
18378 return getRuleContexts(TableOptionContext.class);
18379 }
18380 public TableOptionContext tableOption(int i) {
18381 return getRuleContext(TableOptionContext.class,i);
18382 }
18383 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18384 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
18385 public TerminalNode COMMA_(int i) {
18386 return getToken(SQLServerStatementParser.COMMA_, i);
18387 }
18388 public TableOptionsContext(ParserRuleContext parent, int invokingState) {
18389 super(parent, invokingState);
18390 }
18391 @Override public int getRuleIndex() { return RULE_tableOptions; }
18392 @Override
18393 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18394 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOptions(this);
18395 else return visitor.visitChildren(this);
18396 }
18397 }
18398
18399 public final TableOptionsContext tableOptions() throws RecognitionException {
18400 TableOptionsContext _localctx = new TableOptionsContext(_ctx, getState());
18401 enterRule(_localctx, 396, RULE_tableOptions);
18402 int _la;
18403 try {
18404 enterOuterAlt(_localctx, 1);
18405 {
18406 setState(2742);
18407 match(LP_);
18408 setState(2743);
18409 tableOption();
18410 setState(2748);
18411 _errHandler.sync(this);
18412 _la = _input.LA(1);
18413 while (_la==COMMA_) {
18414 {
18415 {
18416 setState(2744);
18417 match(COMMA_);
18418 setState(2745);
18419 tableOption();
18420 }
18421 }
18422 setState(2750);
18423 _errHandler.sync(this);
18424 _la = _input.LA(1);
18425 }
18426 setState(2751);
18427 match(RP_);
18428 }
18429 }
18430 catch (RecognitionException re) {
18431 _localctx.exception = re;
18432 _errHandler.reportError(this, re);
18433 _errHandler.recover(this, re);
18434 }
18435 finally {
18436 exitRule();
18437 }
18438 return _localctx;
18439 }
18440
18441 public static class TableOptionContext extends ParserRuleContext {
18442 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
18443 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
18444 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
18445 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
18446 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
18447 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
18448 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
18449 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18450 public PartitionExpressionsContext partitionExpressions() {
18451 return getRuleContext(PartitionExpressionsContext.class,0);
18452 }
18453 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18454 public TerminalNode FILETABLE_DIRECTORY() { return getToken(SQLServerStatementParser.FILETABLE_DIRECTORY, 0); }
18455 public IgnoredIdentifierContext ignoredIdentifier() {
18456 return getRuleContext(IgnoredIdentifierContext.class,0);
18457 }
18458 public TerminalNode FILETABLE_COLLATE_FILENAME() { return getToken(SQLServerStatementParser.FILETABLE_COLLATE_FILENAME, 0); }
18459 public CollationNameContext collationName() {
18460 return getRuleContext(CollationNameContext.class,0);
18461 }
18462 public TerminalNode DATABASE_DEAULT() { return getToken(SQLServerStatementParser.DATABASE_DEAULT, 0); }
18463 public TerminalNode FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME, 0); }
18464 public TerminalNode FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME, 0); }
18465 public TerminalNode FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME, 0); }
18466 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
18467 public OnHistoryTableClauseContext onHistoryTableClause() {
18468 return getRuleContext(OnHistoryTableClauseContext.class,0);
18469 }
18470 public TerminalNode REMOTE_DATA_ARCHIVE() { return getToken(SQLServerStatementParser.REMOTE_DATA_ARCHIVE, 0); }
18471 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
18472 public MigrationState_Context migrationState_() {
18473 return getRuleContext(MigrationState_Context.class,0);
18474 }
18475 public TableStretchOptionsContext tableStretchOptions() {
18476 return getRuleContext(TableStretchOptionsContext.class,0);
18477 }
18478 public TableOperationOptionContext tableOperationOption() {
18479 return getRuleContext(TableOperationOptionContext.class,0);
18480 }
18481 public DistributionOptionContext distributionOption() {
18482 return getRuleContext(DistributionOptionContext.class,0);
18483 }
18484 public DataWareHouseTableOptionContext dataWareHouseTableOption() {
18485 return getRuleContext(DataWareHouseTableOptionContext.class,0);
18486 }
18487 public DataDelectionOptionContext dataDelectionOption() {
18488 return getRuleContext(DataDelectionOptionContext.class,0);
18489 }
18490 public DataWareHousePartitionOptionContext dataWareHousePartitionOption() {
18491 return getRuleContext(DataWareHousePartitionOptionContext.class,0);
18492 }
18493 public TableOptionContext(ParserRuleContext parent, int invokingState) {
18494 super(parent, invokingState);
18495 }
18496 @Override public int getRuleIndex() { return RULE_tableOption; }
18497 @Override
18498 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18499 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOption(this);
18500 else return visitor.visitChildren(this);
18501 }
18502 }
18503
18504 public final TableOptionContext tableOption() throws RecognitionException {
18505 TableOptionContext _localctx = new TableOptionContext(_ctx, getState());
18506 enterRule(_localctx, 398, RULE_tableOption);
18507 int _la;
18508 try {
18509 setState(2803);
18510 _errHandler.sync(this);
18511 switch ( getInterpreter().adaptivePredict(_input,238,_ctx) ) {
18512 case 1:
18513 enterOuterAlt(_localctx, 1);
18514 {
18515 setState(2753);
18516 match(DATA_COMPRESSION);
18517 setState(2754);
18518 match(EQ_);
18519 setState(2755);
18520 _la = _input.LA(1);
18521 if ( !(((((_la - 224)) & ~0x3f) == 0 && ((1L << (_la - 224)) & ((1L << (ROW - 224)) | (1L << (NONE - 224)) | (1L << (PAGE - 224)))) != 0)) ) {
18522 _errHandler.recoverInline(this);
18523 }
18524 else {
18525 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
18526 _errHandler.reportMatch(this);
18527 consume();
18528 }
18529 setState(2762);
18530 _errHandler.sync(this);
18531 _la = _input.LA(1);
18532 if (_la==ON) {
18533 {
18534 setState(2756);
18535 match(ON);
18536 setState(2757);
18537 match(PARTITIONS);
18538 setState(2758);
18539 match(LP_);
18540 setState(2759);
18541 partitionExpressions();
18542 setState(2760);
18543 match(RP_);
18544 }
18545 }
18546
18547 }
18548 break;
18549 case 2:
18550 enterOuterAlt(_localctx, 2);
18551 {
18552 setState(2764);
18553 match(FILETABLE_DIRECTORY);
18554 setState(2765);
18555 match(EQ_);
18556 setState(2766);
18557 ignoredIdentifier();
18558 }
18559 break;
18560 case 3:
18561 enterOuterAlt(_localctx, 3);
18562 {
18563 setState(2767);
18564 match(FILETABLE_COLLATE_FILENAME);
18565 setState(2768);
18566 match(EQ_);
18567 setState(2771);
18568 _errHandler.sync(this);
18569 switch (_input.LA(1)) {
18570 case IDENTIFIER_:
18571 case STRING_:
18572 {
18573 setState(2769);
18574 collationName();
18575 }
18576 break;
18577 case DATABASE_DEAULT:
18578 {
18579 setState(2770);
18580 match(DATABASE_DEAULT);
18581 }
18582 break;
18583 default:
18584 throw new NoViableAltException(this);
18585 }
18586 }
18587 break;
18588 case 4:
18589 enterOuterAlt(_localctx, 4);
18590 {
18591 setState(2773);
18592 match(FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME);
18593 setState(2774);
18594 match(EQ_);
18595 setState(2775);
18596 ignoredIdentifier();
18597 }
18598 break;
18599 case 5:
18600 enterOuterAlt(_localctx, 5);
18601 {
18602 setState(2776);
18603 match(FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME);
18604 setState(2777);
18605 match(EQ_);
18606 setState(2778);
18607 ignoredIdentifier();
18608 }
18609 break;
18610 case 6:
18611 enterOuterAlt(_localctx, 6);
18612 {
18613 setState(2779);
18614 match(FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME);
18615 setState(2780);
18616 match(EQ_);
18617 setState(2781);
18618 ignoredIdentifier();
18619 }
18620 break;
18621 case 7:
18622 enterOuterAlt(_localctx, 7);
18623 {
18624 setState(2782);
18625 match(SYSTEM_VERSIONING);
18626 setState(2783);
18627 match(EQ_);
18628 setState(2784);
18629 match(ON);
18630 setState(2786);
18631 _errHandler.sync(this);
18632 _la = _input.LA(1);
18633 if (_la==LP_) {
18634 {
18635 setState(2785);
18636 onHistoryTableClause();
18637 }
18638 }
18639
18640 }
18641 break;
18642 case 8:
18643 enterOuterAlt(_localctx, 8);
18644 {
18645 setState(2788);
18646 match(REMOTE_DATA_ARCHIVE);
18647 setState(2789);
18648 match(EQ_);
18649 setState(2796);
18650 _errHandler.sync(this);
18651 switch (_input.LA(1)) {
18652 case ON:
18653 {
18654 setState(2790);
18655 match(ON);
18656 setState(2792);
18657 _errHandler.sync(this);
18658 _la = _input.LA(1);
18659 if (_la==LP_) {
18660 {
18661 setState(2791);
18662 tableStretchOptions();
18663 }
18664 }
18665
18666 }
18667 break;
18668 case OFF:
18669 {
18670 setState(2794);
18671 match(OFF);
18672 setState(2795);
18673 migrationState_();
18674 }
18675 break;
18676 default:
18677 throw new NoViableAltException(this);
18678 }
18679 }
18680 break;
18681 case 9:
18682 enterOuterAlt(_localctx, 9);
18683 {
18684 setState(2798);
18685 tableOperationOption();
18686 }
18687 break;
18688 case 10:
18689 enterOuterAlt(_localctx, 10);
18690 {
18691 setState(2799);
18692 distributionOption();
18693 }
18694 break;
18695 case 11:
18696 enterOuterAlt(_localctx, 11);
18697 {
18698 setState(2800);
18699 dataWareHouseTableOption();
18700 }
18701 break;
18702 case 12:
18703 enterOuterAlt(_localctx, 12);
18704 {
18705 setState(2801);
18706 dataDelectionOption();
18707 }
18708 break;
18709 case 13:
18710 enterOuterAlt(_localctx, 13);
18711 {
18712 setState(2802);
18713 dataWareHousePartitionOption();
18714 }
18715 break;
18716 }
18717 }
18718 catch (RecognitionException re) {
18719 _localctx.exception = re;
18720 _errHandler.reportError(this, re);
18721 _errHandler.recover(this, re);
18722 }
18723 finally {
18724 exitRule();
18725 }
18726 return _localctx;
18727 }
18728
18729 public static class DataDelectionOptionContext extends ParserRuleContext {
18730 public TerminalNode DATA_DELETION() { return getToken(SQLServerStatementParser.DATA_DELETION, 0); }
18731 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
18732 public TerminalNode EQ_(int i) {
18733 return getToken(SQLServerStatementParser.EQ_, i);
18734 }
18735 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
18736 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18737 public TerminalNode FILTER_COLUMN() { return getToken(SQLServerStatementParser.FILTER_COLUMN, 0); }
18738 public ColumnNameContext columnName() {
18739 return getRuleContext(ColumnNameContext.class,0);
18740 }
18741 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
18742 public TerminalNode RETENTION_PERIOD() { return getToken(SQLServerStatementParser.RETENTION_PERIOD, 0); }
18743 public HistoryRetentionPeriodContext historyRetentionPeriod() {
18744 return getRuleContext(HistoryRetentionPeriodContext.class,0);
18745 }
18746 public DataDelectionOptionContext(ParserRuleContext parent, int invokingState) {
18747 super(parent, invokingState);
18748 }
18749 @Override public int getRuleIndex() { return RULE_dataDelectionOption; }
18750 @Override
18751 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18752 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataDelectionOption(this);
18753 else return visitor.visitChildren(this);
18754 }
18755 }
18756
18757 public final DataDelectionOptionContext dataDelectionOption() throws RecognitionException {
18758 DataDelectionOptionContext _localctx = new DataDelectionOptionContext(_ctx, getState());
18759 enterRule(_localctx, 400, RULE_dataDelectionOption);
18760 try {
18761 enterOuterAlt(_localctx, 1);
18762 {
18763 setState(2805);
18764 match(DATA_DELETION);
18765 setState(2806);
18766 match(EQ_);
18767 setState(2807);
18768 match(ON);
18769 {
18770 setState(2808);
18771 match(LP_);
18772 setState(2809);
18773 match(FILTER_COLUMN);
18774 setState(2810);
18775 match(EQ_);
18776 setState(2811);
18777 columnName();
18778 setState(2812);
18779 match(COMMA_);
18780 setState(2813);
18781 match(RETENTION_PERIOD);
18782 setState(2814);
18783 match(EQ_);
18784 setState(2815);
18785 historyRetentionPeriod();
18786 }
18787 }
18788 }
18789 catch (RecognitionException re) {
18790 _localctx.exception = re;
18791 _errHandler.reportError(this, re);
18792 _errHandler.recover(this, re);
18793 }
18794 finally {
18795 exitRule();
18796 }
18797 return _localctx;
18798 }
18799
18800 public static class TableStretchOptionsContext extends ParserRuleContext {
18801 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18802 public List<TableStretchOptionContext> tableStretchOption() {
18803 return getRuleContexts(TableStretchOptionContext.class);
18804 }
18805 public TableStretchOptionContext tableStretchOption(int i) {
18806 return getRuleContext(TableStretchOptionContext.class,i);
18807 }
18808 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18809 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
18810 public TerminalNode COMMA_(int i) {
18811 return getToken(SQLServerStatementParser.COMMA_, i);
18812 }
18813 public TableStretchOptionsContext(ParserRuleContext parent, int invokingState) {
18814 super(parent, invokingState);
18815 }
18816 @Override public int getRuleIndex() { return RULE_tableStretchOptions; }
18817 @Override
18818 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18819 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableStretchOptions(this);
18820 else return visitor.visitChildren(this);
18821 }
18822 }
18823
18824 public final TableStretchOptionsContext tableStretchOptions() throws RecognitionException {
18825 TableStretchOptionsContext _localctx = new TableStretchOptionsContext(_ctx, getState());
18826 enterRule(_localctx, 402, RULE_tableStretchOptions);
18827 int _la;
18828 try {
18829 enterOuterAlt(_localctx, 1);
18830 {
18831 setState(2817);
18832 match(LP_);
18833 setState(2818);
18834 tableStretchOption();
18835 setState(2823);
18836 _errHandler.sync(this);
18837 _la = _input.LA(1);
18838 while (_la==COMMA_) {
18839 {
18840 {
18841 setState(2819);
18842 match(COMMA_);
18843 setState(2820);
18844 tableStretchOption();
18845 }
18846 }
18847 setState(2825);
18848 _errHandler.sync(this);
18849 _la = _input.LA(1);
18850 }
18851 setState(2826);
18852 match(RP_);
18853 }
18854 }
18855 catch (RecognitionException re) {
18856 _localctx.exception = re;
18857 _errHandler.reportError(this, re);
18858 _errHandler.recover(this, re);
18859 }
18860 finally {
18861 exitRule();
18862 }
18863 return _localctx;
18864 }
18865
18866 public static class TableStretchOptionContext extends ParserRuleContext {
18867 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
18868 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
18869 public TerminalNode EQ_(int i) {
18870 return getToken(SQLServerStatementParser.EQ_, i);
18871 }
18872 public TerminalNode OUTBOUND() { return getToken(SQLServerStatementParser.OUTBOUND, 0); }
18873 public TerminalNode INBOUND() { return getToken(SQLServerStatementParser.INBOUND, 0); }
18874 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
18875 public TerminalNode FILTER_PREDICATE() { return getToken(SQLServerStatementParser.FILTER_PREDICATE, 0); }
18876 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
18877 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
18878 public FunctionCallContext functionCall() {
18879 return getRuleContext(FunctionCallContext.class,0);
18880 }
18881 public TableStretchOptionContext(ParserRuleContext parent, int invokingState) {
18882 super(parent, invokingState);
18883 }
18884 @Override public int getRuleIndex() { return RULE_tableStretchOption; }
18885 @Override
18886 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18887 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableStretchOption(this);
18888 else return visitor.visitChildren(this);
18889 }
18890 }
18891
18892 public final TableStretchOptionContext tableStretchOption() throws RecognitionException {
18893 TableStretchOptionContext _localctx = new TableStretchOptionContext(_ctx, getState());
18894 enterRule(_localctx, 404, RULE_tableStretchOption);
18895 int _la;
18896 try {
18897 enterOuterAlt(_localctx, 1);
18898 {
18899 setState(2835);
18900 _errHandler.sync(this);
18901 _la = _input.LA(1);
18902 if (_la==FILTER_PREDICATE) {
18903 {
18904 setState(2828);
18905 match(FILTER_PREDICATE);
18906 setState(2829);
18907 match(EQ_);
18908 setState(2832);
18909 _errHandler.sync(this);
18910 switch (_input.LA(1)) {
18911 case NULL:
18912 {
18913 setState(2830);
18914 match(NULL);
18915 }
18916 break;
18917 case TRUNCATE:
18918 case SCHEMA:
18919 case COLUMNS:
18920 case PRECISION:
18921 case FUNCTION:
18922 case TRIGGER:
18923 case CAST:
18924 case SUBSTRING:
18925 case OFF:
18926 case IF:
18927 case GROUP:
18928 case LIMIT:
18929 case OFFSET:
18930 case SAVEPOINT:
18931 case BOOLEAN:
18932 case CHAR:
18933 case ARRAY:
18934 case INTERVAL:
18935 case DATE:
18936 case LOCALTIME:
18937 case LOCALTIMESTAMP:
18938 case QUARTER:
18939 case WEEK:
18940 case DAY:
18941 case SECOND:
18942 case MICROSECOND:
18943 case MAX:
18944 case MIN:
18945 case SUM:
18946 case COUNT:
18947 case AVG:
18948 case ENABLE:
18949 case DISABLE:
18950 case INSTANCE:
18951 case DO:
18952 case DEFINER:
18953 case SQL:
18954 case CASCADED:
18955 case LOCAL:
18956 case NEXT:
18957 case NAME:
18958 case INTEGER:
18959 case TYPE:
18960 case TEXT:
18961 case VIEWS:
18962 case READ_ONLY:
18963 case DATABASE:
18964 case RETURNS:
18965 case DATEPART:
18966 case PASSWORD:
18967 case BINARY:
18968 case HIDDEN_:
18969 case MOD:
18970 case PARTITION:
18971 case PARTITIONS:
18972 case TOP:
18973 case ROW:
18974 case ROWS:
18975 case XOR:
18976 case ALWAYS:
18977 case ROLE:
18978 case START:
18979 case ALGORITHM:
18980 case AUTO:
18981 case BLOCKERS:
18982 case CLUSTERED:
18983 case NONCLUSTERED:
18984 case COLUMNSTORE:
18985 case CONTENT:
18986 case CONVERT:
18987 case YEARS:
18988 case MONTHS:
18989 case WEEKS:
18990 case DAYS:
18991 case MINUTES:
18992 case DENY:
18993 case DETERMINISTIC:
18994 case DISTRIBUTION:
18995 case DOCUMENT:
18996 case DURABILITY:
18997 case ENCRYPTED:
18998 case FILESTREAM:
18999 case FILETABLE:
19000 case FILLFACTOR:
19001 case FOLLOWING:
19002 case HASH:
19003 case HEAP:
19004 case INBOUND:
19005 case OUTBOUND:
19006 case UNBOUNDED:
19007 case INFINITE:
19008 case LOGIN:
19009 case MASKED:
19010 case MAXDOP:
19011 case MOVE:
19012 case NOCHECK:
19013 case OBJECT:
19014 case ONLINE:
19015 case OVER:
19016 case PAGE:
19017 case PAUSED:
19018 case PERIOD:
19019 case PERSISTED:
19020 case PRECEDING:
19021 case RANDOMIZED:
19022 case RANGE:
19023 case REBUILD:
19024 case REPLICATE:
19025 case REPLICATION:
19026 case RESUMABLE:
19027 case ROWGUIDCOL:
19028 case SAVE:
19029 case SELF:
19030 case SPARSE:
19031 case SWITCH:
19032 case TRAN:
19033 case TRANCOUNT:
19034 case CONTROL:
19035 case CONCAT:
19036 case TAKE:
19037 case OWNERSHIP:
19038 case DEFINITION:
19039 case APPLICATION:
19040 case ASSEMBLY:
19041 case SYMMETRIC:
19042 case ASYMMETRIC:
19043 case SERVER:
19044 case RECEIVE:
19045 case CHANGE:
19046 case TRACE:
19047 case TRACKING:
19048 case RESOURCES:
19049 case SETTINGS:
19050 case STATE:
19051 case AVAILABILITY:
19052 case CREDENTIAL:
19053 case ENDPOINT:
19054 case EVENT:
19055 case NOTIFICATION:
19056 case LINKED:
19057 case AUDIT:
19058 case DDL:
19059 case XML:
19060 case IMPERSONATE:
19061 case SECURABLES:
19062 case AUTHENTICATE:
19063 case EXTERNAL:
19064 case ACCESS:
19065 case ADMINISTER:
19066 case BULK:
19067 case OPERATIONS:
19068 case UNSAFE:
19069 case SHUTDOWN:
19070 case SCOPED:
19071 case CONFIGURATION:
19072 case DATASPACE:
19073 case SERVICE:
19074 case CERTIFICATE:
19075 case CONTRACT:
19076 case ENCRYPTION:
19077 case MASTER:
19078 case DATA:
19079 case SOURCE:
19080 case FILE:
19081 case FORMAT:
19082 case LIBRARY:
19083 case FULLTEXT:
19084 case MASK:
19085 case UNMASK:
19086 case MESSAGE:
19087 case REMOTE:
19088 case BINDING:
19089 case ROUTE:
19090 case SECURITY:
19091 case POLICY:
19092 case AGGREGATE:
19093 case QUEUE:
19094 case RULE:
19095 case SYNONYM:
19096 case COLLECTION:
19097 case SCRIPT:
19098 case KILL:
19099 case BACKUP:
19100 case LOG:
19101 case SHOWPLAN:
19102 case SUBSCRIBE:
19103 case QUERY:
19104 case NOTIFICATIONS:
19105 case CHECKPOINT:
19106 case SEQUENCE:
19107 case ABORT_AFTER_WAIT:
19108 case ALLOW_PAGE_LOCKS:
19109 case ALLOW_ROW_LOCKS:
19110 case ALL_SPARSE_COLUMNS:
19111 case BUCKET_COUNT:
19112 case COLUMNSTORE_ARCHIVE:
19113 case COLUMN_ENCRYPTION_KEY:
19114 case COLUMN_SET:
19115 case COMPRESSION_DELAY:
19116 case DATABASE_DEAULT:
19117 case DATA_COMPRESSION:
19118 case DATA_CONSISTENCY_CHECK:
19119 case ENCRYPTION_TYPE:
19120 case SYSTEM_TIME:
19121 case SYSTEM_VERSIONING:
19122 case TEXTIMAGE_ON:
19123 case WAIT_AT_LOW_PRIORITY:
19124 case STATISTICS_INCREMENTAL:
19125 case STATISTICS_NORECOMPUTE:
19126 case ROUND_ROBIN:
19127 case SCHEMA_AND_DATA:
19128 case SCHEMA_ONLY:
19129 case SORT_IN_TEMPDB:
19130 case IGNORE_DUP_KEY:
19131 case IMPLICIT_TRANSACTIONS:
19132 case MAX_DURATION:
19133 case MEMORY_OPTIMIZED:
19134 case MIGRATION_STATE:
19135 case PAD_INDEX:
19136 case REMOTE_DATA_ARCHIVE:
19137 case FILESTREAM_ON:
19138 case FILETABLE_COLLATE_FILENAME:
19139 case FILETABLE_DIRECTORY:
19140 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
19141 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
19142 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
19143 case FILTER_PREDICATE:
19144 case HISTORY_RETENTION_PERIOD:
19145 case HISTORY_TABLE:
19146 case LOCK_ESCALATION:
19147 case DROP_EXISTING:
19148 case ROW_NUMBER:
19149 case FIRST:
19150 case DATETIME2:
19151 case OUTPUT:
19152 case INSERTED:
19153 case DELETED:
19154 case FILENAME:
19155 case MAXSIZE:
19156 case FILEGROWTH:
19157 case UNLIMITED:
19158 case KB:
19159 case MB:
19160 case GB:
19161 case TB:
19162 case MEMORY_OPTIMIZED_DATA:
19163 case FILEGROUP:
19164 case NON_TRANSACTED_ACCESS:
19165 case DB_CHAINING:
19166 case TRUSTWORTHY:
19167 case FORWARD_ONLY:
19168 case KEYSET:
19169 case FAST_FORWARD:
19170 case SCROLL_LOCKS:
19171 case OPTIMISTIC:
19172 case TYPE_WARNING:
19173 case SCHEMABINDING:
19174 case CALLER:
19175 case OWNER:
19176 case SNAPSHOT:
19177 case REPEATABLE:
19178 case SERIALIZABLE:
19179 case NATIVE_COMPILATION:
19180 case VIEW_METADATA:
19181 case INSTEAD:
19182 case APPEND:
19183 case INCREMENT:
19184 case CACHE:
19185 case MINVALUE:
19186 case MAXVALUE:
19187 case RESTART:
19188 case LOB_COMPACTION:
19189 case COMPRESS_ALL_ROW_GROUPS:
19190 case REORGANIZE:
19191 case RESUME:
19192 case PAUSE:
19193 case ABORT:
19194 case ACCELERATED_DATABASE_RECOVERY:
19195 case PERSISTENT_VERSION_STORE_FILEGROUP:
19196 case IMMEDIATE:
19197 case NO_WAIT:
19198 case TARGET_RECOVERY_TIME:
19199 case SECONDS:
19200 case HONOR_BROKER_PRIORITY:
19201 case ERROR_BROKER_CONVERSATIONS:
19202 case NEW_BROKER:
19203 case DISABLE_BROKER:
19204 case ENABLE_BROKER:
19205 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
19206 case READ_COMMITTED_SNAPSHOT:
19207 case ALLOW_SNAPSHOT_ISOLATION:
19208 case RECURSIVE_TRIGGERS:
19209 case QUOTED_IDENTIFIER:
19210 case NUMERIC_ROUNDABORT:
19211 case CONCAT_NULL_YIELDS_NULL:
19212 case COMPATIBILITY_LEVEL:
19213 case ARITHABORT:
19214 case ANSI_WARNINGS:
19215 case ANSI_PADDING:
19216 case ANSI_NULLS:
19217 case ANSI_NULL_DEFAULT:
19218 case PAGE_VERIFY:
19219 case CHECKSUM:
19220 case TORN_PAGE_DETECTION:
19221 case BULK_LOGGED:
19222 case RECOVERY:
19223 case TOTAL_EXECUTION_CPU_TIME_MS:
19224 case TOTAL_COMPILE_CPU_TIME_MS:
19225 case STALE_CAPTURE_POLICY_THRESHOLD:
19226 case EXECUTION_COUNT:
19227 case QUERY_CAPTURE_POLICY:
19228 case WAIT_STATS_CAPTURE_MODE:
19229 case MAX_PLANS_PER_QUERY:
19230 case QUERY_CAPTURE_MODE:
19231 case SIZE_BASED_CLEANUP_MODE:
19232 case INTERVAL_LENGTH_MINUTES:
19233 case MAX_STORAGE_SIZE_MB:
19234 case DATA_FLUSH_INTERVAL_SECONDS:
19235 case CLEANUP_POLICY:
19236 case CUSTOM:
19237 case STALE_QUERY_THRESHOLD_DAYS:
19238 case OPERATION_MODE:
19239 case QUERY_STORE:
19240 case CURSOR_DEFAULT:
19241 case GLOBAL:
19242 case CURSOR_CLOSE_ON_COMMIT:
19243 case HOURS:
19244 case CHANGE_RETENTION:
19245 case AUTO_CLEANUP:
19246 case CHANGE_TRACKING:
19247 case AUTOMATIC_TUNING:
19248 case FORCE_LAST_GOOD_PLAN:
19249 case AUTO_UPDATE_STATISTICS_ASYNC:
19250 case AUTO_UPDATE_STATISTICS:
19251 case AUTO_SHRINK:
19252 case AUTO_CREATE_STATISTICS:
19253 case INCREMENTAL:
19254 case AUTO_CLOSE:
19255 case DATA_RETENTION:
19256 case TEMPORAL_HISTORY_RETENTION:
19257 case EDITION:
19258 case MIXED_PAGE_ALLOCATION:
19259 case DISABLED:
19260 case ALLOWED:
19261 case HADR:
19262 case MULTI_USER:
19263 case RESTRICTED_USER:
19264 case SINGLE_USER:
19265 case OFFLINE:
19266 case EMERGENCY:
19267 case SUSPEND:
19268 case DATE_CORRELATION_OPTIMIZATION:
19269 case ELASTIC_POOL:
19270 case SERVICE_OBJECTIVE:
19271 case DATABASE_NAME:
19272 case ALLOW_CONNECTIONS:
19273 case GEO:
19274 case NAMED:
19275 case DATEFIRST:
19276 case BACKUP_STORAGE_REDUNDANCY:
19277 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
19278 case SECONDARY:
19279 case FAILOVER:
19280 case DEFAULT_FULLTEXT_LANGUAGE:
19281 case DEFAULT_LANGUAGE:
19282 case INLINE:
19283 case NESTED_TRIGGERS:
19284 case TRANSFORM_NOISE_WORDS:
19285 case TWO_DIGIT_YEAR_CUTOFF:
19286 case PERSISTENT_LOG_BUFFER:
19287 case DIRECTORY_NAME:
19288 case DATEFORMAT:
19289 case DELAYED_DURABILITY:
19290 case AUTHORIZATION:
19291 case TRANSFER:
19292 case PROVIDER:
19293 case SEARCH:
19294 case MEMBER:
19295 case IDENTIFIER_:
19296 case DELIMITED_IDENTIFIER_:
19297 {
19298 setState(2831);
19299 functionCall();
19300 }
19301 break;
19302 default:
19303 throw new NoViableAltException(this);
19304 }
19305 setState(2834);
19306 match(COMMA_);
19307 }
19308 }
19309
19310 setState(2837);
19311 match(MIGRATION_STATE);
19312 setState(2838);
19313 match(EQ_);
19314 setState(2839);
19315 _la = _input.LA(1);
19316 if ( !(((((_la - 269)) & ~0x3f) == 0 && ((1L << (_la - 269)) & ((1L << (INBOUND - 269)) | (1L << (OUTBOUND - 269)) | (1L << (PAUSED - 269)))) != 0)) ) {
19317 _errHandler.recoverInline(this);
19318 }
19319 else {
19320 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19321 _errHandler.reportMatch(this);
19322 consume();
19323 }
19324 }
19325 }
19326 catch (RecognitionException re) {
19327 _localctx.exception = re;
19328 _errHandler.reportError(this, re);
19329 _errHandler.recover(this, re);
19330 }
19331 finally {
19332 exitRule();
19333 }
19334 return _localctx;
19335 }
19336
19337 public static class MigrationState_Context extends ParserRuleContext {
19338 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19339 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
19340 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
19341 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
19342 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19343 public MigrationState_Context(ParserRuleContext parent, int invokingState) {
19344 super(parent, invokingState);
19345 }
19346 @Override public int getRuleIndex() { return RULE_migrationState_; }
19347 @Override
19348 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19349 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMigrationState_(this);
19350 else return visitor.visitChildren(this);
19351 }
19352 }
19353
19354 public final MigrationState_Context migrationState_() throws RecognitionException {
19355 MigrationState_Context _localctx = new MigrationState_Context(_ctx, getState());
19356 enterRule(_localctx, 406, RULE_migrationState_);
19357 try {
19358 enterOuterAlt(_localctx, 1);
19359 {
19360 setState(2841);
19361 match(LP_);
19362 setState(2842);
19363 match(MIGRATION_STATE);
19364 setState(2843);
19365 match(EQ_);
19366 setState(2844);
19367 match(PAUSED);
19368 setState(2845);
19369 match(RP_);
19370 }
19371 }
19372 catch (RecognitionException re) {
19373 _localctx.exception = re;
19374 _errHandler.reportError(this, re);
19375 _errHandler.recover(this, re);
19376 }
19377 finally {
19378 exitRule();
19379 }
19380 return _localctx;
19381 }
19382
19383 public static class TableOperationOptionContext extends ParserRuleContext {
19384 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
19385 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
19386 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
19387 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
19388 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
19389 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
19390 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
19391 public OnHistoryTableClauseContext onHistoryTableClause() {
19392 return getRuleContext(OnHistoryTableClauseContext.class,0);
19393 }
19394 public TableOperationOptionContext(ParserRuleContext parent, int invokingState) {
19395 super(parent, invokingState);
19396 }
19397 @Override public int getRuleIndex() { return RULE_tableOperationOption; }
19398 @Override
19399 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19400 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOperationOption(this);
19401 else return visitor.visitChildren(this);
19402 }
19403 }
19404
19405 public final TableOperationOptionContext tableOperationOption() throws RecognitionException {
19406 TableOperationOptionContext _localctx = new TableOperationOptionContext(_ctx, getState());
19407 enterRule(_localctx, 408, RULE_tableOperationOption);
19408 int _la;
19409 try {
19410 setState(2859);
19411 _errHandler.sync(this);
19412 switch (_input.LA(1)) {
19413 case MEMORY_OPTIMIZED:
19414 enterOuterAlt(_localctx, 1);
19415 {
19416 {
19417 setState(2847);
19418 match(MEMORY_OPTIMIZED);
19419 setState(2848);
19420 match(EQ_);
19421 setState(2849);
19422 match(ON);
19423 }
19424 }
19425 break;
19426 case DURABILITY:
19427 enterOuterAlt(_localctx, 2);
19428 {
19429 {
19430 setState(2850);
19431 match(DURABILITY);
19432 setState(2851);
19433 match(EQ_);
19434 setState(2852);
19435 _la = _input.LA(1);
19436 if ( !(_la==SCHEMA_AND_DATA || _la==SCHEMA_ONLY) ) {
19437 _errHandler.recoverInline(this);
19438 }
19439 else {
19440 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19441 _errHandler.reportMatch(this);
19442 consume();
19443 }
19444 }
19445 }
19446 break;
19447 case SYSTEM_VERSIONING:
19448 enterOuterAlt(_localctx, 3);
19449 {
19450 {
19451 setState(2853);
19452 match(SYSTEM_VERSIONING);
19453 setState(2854);
19454 match(EQ_);
19455 setState(2855);
19456 match(ON);
19457 setState(2857);
19458 _errHandler.sync(this);
19459 _la = _input.LA(1);
19460 if (_la==LP_) {
19461 {
19462 setState(2856);
19463 onHistoryTableClause();
19464 }
19465 }
19466
19467 }
19468 }
19469 break;
19470 default:
19471 throw new NoViableAltException(this);
19472 }
19473 }
19474 catch (RecognitionException re) {
19475 _localctx.exception = re;
19476 _errHandler.reportError(this, re);
19477 _errHandler.recover(this, re);
19478 }
19479 finally {
19480 exitRule();
19481 }
19482 return _localctx;
19483 }
19484
19485 public static class DistributionOptionContext extends ParserRuleContext {
19486 public TerminalNode DISTRIBUTION() { return getToken(SQLServerStatementParser.DISTRIBUTION, 0); }
19487 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
19488 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
19489 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19490 public ColumnNameContext columnName() {
19491 return getRuleContext(ColumnNameContext.class,0);
19492 }
19493 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19494 public TerminalNode ROUND_ROBIN() { return getToken(SQLServerStatementParser.ROUND_ROBIN, 0); }
19495 public TerminalNode REPLICATE() { return getToken(SQLServerStatementParser.REPLICATE, 0); }
19496 public DistributionOptionContext(ParserRuleContext parent, int invokingState) {
19497 super(parent, invokingState);
19498 }
19499 @Override public int getRuleIndex() { return RULE_distributionOption; }
19500 @Override
19501 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19502 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDistributionOption(this);
19503 else return visitor.visitChildren(this);
19504 }
19505 }
19506
19507 public final DistributionOptionContext distributionOption() throws RecognitionException {
19508 DistributionOptionContext _localctx = new DistributionOptionContext(_ctx, getState());
19509 enterRule(_localctx, 410, RULE_distributionOption);
19510 try {
19511 enterOuterAlt(_localctx, 1);
19512 {
19513 setState(2861);
19514 match(DISTRIBUTION);
19515 setState(2862);
19516 match(EQ_);
19517 setState(2870);
19518 _errHandler.sync(this);
19519 switch (_input.LA(1)) {
19520 case HASH:
19521 {
19522 setState(2863);
19523 match(HASH);
19524 setState(2864);
19525 match(LP_);
19526 setState(2865);
19527 columnName();
19528 setState(2866);
19529 match(RP_);
19530 }
19531 break;
19532 case ROUND_ROBIN:
19533 {
19534 setState(2868);
19535 match(ROUND_ROBIN);
19536 }
19537 break;
19538 case REPLICATE:
19539 {
19540 setState(2869);
19541 match(REPLICATE);
19542 }
19543 break;
19544 default:
19545 throw new NoViableAltException(this);
19546 }
19547 }
19548 }
19549 catch (RecognitionException re) {
19550 _localctx.exception = re;
19551 _errHandler.reportError(this, re);
19552 _errHandler.recover(this, re);
19553 }
19554 finally {
19555 exitRule();
19556 }
19557 return _localctx;
19558 }
19559
19560 public static class DataWareHouseTableOptionContext extends ParserRuleContext {
19561 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
19562 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
19563 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
19564 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
19565 public ColumnNamesContext columnNames() {
19566 return getRuleContext(ColumnNamesContext.class,0);
19567 }
19568 public TerminalNode HEAP() { return getToken(SQLServerStatementParser.HEAP, 0); }
19569 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19570 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19571 public List<ColumnNameContext> columnName() {
19572 return getRuleContexts(ColumnNameContext.class);
19573 }
19574 public ColumnNameContext columnName(int i) {
19575 return getRuleContext(ColumnNameContext.class,i);
19576 }
19577 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
19578 public TerminalNode COMMA_(int i) {
19579 return getToken(SQLServerStatementParser.COMMA_, i);
19580 }
19581 public List<TerminalNode> ASC() { return getTokens(SQLServerStatementParser.ASC); }
19582 public TerminalNode ASC(int i) {
19583 return getToken(SQLServerStatementParser.ASC, i);
19584 }
19585 public List<TerminalNode> DESC() { return getTokens(SQLServerStatementParser.DESC); }
19586 public TerminalNode DESC(int i) {
19587 return getToken(SQLServerStatementParser.DESC, i);
19588 }
19589 public DataWareHouseTableOptionContext(ParserRuleContext parent, int invokingState) {
19590 super(parent, invokingState);
19591 }
19592 @Override public int getRuleIndex() { return RULE_dataWareHouseTableOption; }
19593 @Override
19594 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19595 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataWareHouseTableOption(this);
19596 else return visitor.visitChildren(this);
19597 }
19598 }
19599
19600 public final DataWareHouseTableOptionContext dataWareHouseTableOption() throws RecognitionException {
19601 DataWareHouseTableOptionContext _localctx = new DataWareHouseTableOptionContext(_ctx, getState());
19602 enterRule(_localctx, 412, RULE_dataWareHouseTableOption);
19603 int _la;
19604 try {
19605 setState(2900);
19606 _errHandler.sync(this);
19607 switch ( getInterpreter().adaptivePredict(_input,248,_ctx) ) {
19608 case 1:
19609 enterOuterAlt(_localctx, 1);
19610 {
19611 setState(2872);
19612 match(CLUSTERED);
19613 setState(2873);
19614 match(COLUMNSTORE);
19615 setState(2874);
19616 match(INDEX);
19617 }
19618 break;
19619 case 2:
19620 enterOuterAlt(_localctx, 2);
19621 {
19622 setState(2875);
19623 match(CLUSTERED);
19624 setState(2876);
19625 match(COLUMNSTORE);
19626 setState(2877);
19627 match(INDEX);
19628 setState(2878);
19629 match(ORDER);
19630 setState(2879);
19631 columnNames();
19632 }
19633 break;
19634 case 3:
19635 enterOuterAlt(_localctx, 3);
19636 {
19637 setState(2880);
19638 match(HEAP);
19639 }
19640 break;
19641 case 4:
19642 enterOuterAlt(_localctx, 4);
19643 {
19644 setState(2881);
19645 match(CLUSTERED);
19646 setState(2882);
19647 match(INDEX);
19648 setState(2883);
19649 match(LP_);
19650 {
19651 setState(2884);
19652 columnName();
19653 setState(2886);
19654 _errHandler.sync(this);
19655 _la = _input.LA(1);
19656 if (_la==ASC || _la==DESC) {
19657 {
19658 setState(2885);
19659 _la = _input.LA(1);
19660 if ( !(_la==ASC || _la==DESC) ) {
19661 _errHandler.recoverInline(this);
19662 }
19663 else {
19664 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19665 _errHandler.reportMatch(this);
19666 consume();
19667 }
19668 }
19669 }
19670
19671 }
19672 setState(2895);
19673 _errHandler.sync(this);
19674 _la = _input.LA(1);
19675 while (_la==COMMA_) {
19676 {
19677 {
19678 setState(2888);
19679 match(COMMA_);
19680 {
19681 setState(2889);
19682 columnName();
19683 setState(2891);
19684 _errHandler.sync(this);
19685 _la = _input.LA(1);
19686 if (_la==ASC || _la==DESC) {
19687 {
19688 setState(2890);
19689 _la = _input.LA(1);
19690 if ( !(_la==ASC || _la==DESC) ) {
19691 _errHandler.recoverInline(this);
19692 }
19693 else {
19694 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19695 _errHandler.reportMatch(this);
19696 consume();
19697 }
19698 }
19699 }
19700
19701 }
19702 }
19703 }
19704 setState(2897);
19705 _errHandler.sync(this);
19706 _la = _input.LA(1);
19707 }
19708 setState(2898);
19709 match(RP_);
19710 }
19711 break;
19712 }
19713 }
19714 catch (RecognitionException re) {
19715 _localctx.exception = re;
19716 _errHandler.reportError(this, re);
19717 _errHandler.recover(this, re);
19718 }
19719 finally {
19720 exitRule();
19721 }
19722 return _localctx;
19723 }
19724
19725 public static class DataWareHousePartitionOptionContext extends ParserRuleContext {
19726 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
19727 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
19728 public TerminalNode LP_(int i) {
19729 return getToken(SQLServerStatementParser.LP_, i);
19730 }
19731 public ColumnNameContext columnName() {
19732 return getRuleContext(ColumnNameContext.class,0);
19733 }
19734 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
19735 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
19736 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
19737 public List<SimpleExprContext> simpleExpr() {
19738 return getRuleContexts(SimpleExprContext.class);
19739 }
19740 public SimpleExprContext simpleExpr(int i) {
19741 return getRuleContext(SimpleExprContext.class,i);
19742 }
19743 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
19744 public TerminalNode RP_(int i) {
19745 return getToken(SQLServerStatementParser.RP_, i);
19746 }
19747 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
19748 public TerminalNode COMMA_(int i) {
19749 return getToken(SQLServerStatementParser.COMMA_, i);
19750 }
19751 public TerminalNode LEFT() { return getToken(SQLServerStatementParser.LEFT, 0); }
19752 public TerminalNode RIGHT() { return getToken(SQLServerStatementParser.RIGHT, 0); }
19753 public DataWareHousePartitionOptionContext(ParserRuleContext parent, int invokingState) {
19754 super(parent, invokingState);
19755 }
19756 @Override public int getRuleIndex() { return RULE_dataWareHousePartitionOption; }
19757 @Override
19758 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19759 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataWareHousePartitionOption(this);
19760 else return visitor.visitChildren(this);
19761 }
19762 }
19763
19764 public final DataWareHousePartitionOptionContext dataWareHousePartitionOption() throws RecognitionException {
19765 DataWareHousePartitionOptionContext _localctx = new DataWareHousePartitionOptionContext(_ctx, getState());
19766 enterRule(_localctx, 414, RULE_dataWareHousePartitionOption);
19767 int _la;
19768 try {
19769 enterOuterAlt(_localctx, 1);
19770 {
19771 {
19772 setState(2902);
19773 match(PARTITION);
19774 setState(2903);
19775 match(LP_);
19776 setState(2904);
19777 columnName();
19778 setState(2905);
19779 match(RANGE);
19780 setState(2907);
19781 _errHandler.sync(this);
19782 _la = _input.LA(1);
19783 if (_la==LEFT || _la==RIGHT) {
19784 {
19785 setState(2906);
19786 _la = _input.LA(1);
19787 if ( !(_la==LEFT || _la==RIGHT) ) {
19788 _errHandler.recoverInline(this);
19789 }
19790 else {
19791 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19792 _errHandler.reportMatch(this);
19793 consume();
19794 }
19795 }
19796 }
19797
19798 setState(2909);
19799 match(FOR);
19800 setState(2910);
19801 match(VALUES);
19802 setState(2911);
19803 match(LP_);
19804 setState(2912);
19805 simpleExpr(0);
19806 setState(2917);
19807 _errHandler.sync(this);
19808 _la = _input.LA(1);
19809 while (_la==COMMA_) {
19810 {
19811 {
19812 setState(2913);
19813 match(COMMA_);
19814 setState(2914);
19815 simpleExpr(0);
19816 }
19817 }
19818 setState(2919);
19819 _errHandler.sync(this);
19820 _la = _input.LA(1);
19821 }
19822 setState(2920);
19823 match(RP_);
19824 setState(2921);
19825 match(RP_);
19826 }
19827 }
19828 }
19829 catch (RecognitionException re) {
19830 _localctx.exception = re;
19831 _errHandler.reportError(this, re);
19832 _errHandler.recover(this, re);
19833 }
19834 finally {
19835 exitRule();
19836 }
19837 return _localctx;
19838 }
19839
19840 public static class CreateIndexSpecificationContext extends ParserRuleContext {
19841 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
19842 public ClusterOptionContext clusterOption() {
19843 return getRuleContext(ClusterOptionContext.class,0);
19844 }
19845 public CreateIndexSpecificationContext(ParserRuleContext parent, int invokingState) {
19846 super(parent, invokingState);
19847 }
19848 @Override public int getRuleIndex() { return RULE_createIndexSpecification; }
19849 @Override
19850 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19851 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndexSpecification(this);
19852 else return visitor.visitChildren(this);
19853 }
19854 }
19855
19856 public final CreateIndexSpecificationContext createIndexSpecification() throws RecognitionException {
19857 CreateIndexSpecificationContext _localctx = new CreateIndexSpecificationContext(_ctx, getState());
19858 enterRule(_localctx, 416, RULE_createIndexSpecification);
19859 int _la;
19860 try {
19861 enterOuterAlt(_localctx, 1);
19862 {
19863 setState(2924);
19864 _errHandler.sync(this);
19865 _la = _input.LA(1);
19866 if (_la==UNIQUE) {
19867 {
19868 setState(2923);
19869 match(UNIQUE);
19870 }
19871 }
19872
19873 setState(2927);
19874 _errHandler.sync(this);
19875 _la = _input.LA(1);
19876 if (_la==CLUSTERED || _la==NONCLUSTERED) {
19877 {
19878 setState(2926);
19879 clusterOption();
19880 }
19881 }
19882
19883 }
19884 }
19885 catch (RecognitionException re) {
19886 _localctx.exception = re;
19887 _errHandler.reportError(this, re);
19888 _errHandler.recover(this, re);
19889 }
19890 finally {
19891 exitRule();
19892 }
19893 return _localctx;
19894 }
19895
19896 public static class AlterDefinitionClauseContext extends ParserRuleContext {
19897 public AddColumnSpecificationContext addColumnSpecification() {
19898 return getRuleContext(AddColumnSpecificationContext.class,0);
19899 }
19900 public ModifyColumnSpecificationContext modifyColumnSpecification() {
19901 return getRuleContext(ModifyColumnSpecificationContext.class,0);
19902 }
19903 public AlterDropContext alterDrop() {
19904 return getRuleContext(AlterDropContext.class,0);
19905 }
19906 public AlterCheckConstraintContext alterCheckConstraint() {
19907 return getRuleContext(AlterCheckConstraintContext.class,0);
19908 }
19909 public AlterTableTriggerContext alterTableTrigger() {
19910 return getRuleContext(AlterTableTriggerContext.class,0);
19911 }
19912 public AlterSwitchContext alterSwitch() {
19913 return getRuleContext(AlterSwitchContext.class,0);
19914 }
19915 public AlterSetContext alterSet() {
19916 return getRuleContext(AlterSetContext.class,0);
19917 }
19918 public AlterTableOptionContext alterTableOption() {
19919 return getRuleContext(AlterTableOptionContext.class,0);
19920 }
19921 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
19922 public AlterDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
19923 super(parent, invokingState);
19924 }
19925 @Override public int getRuleIndex() { return RULE_alterDefinitionClause; }
19926 @Override
19927 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19928 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDefinitionClause(this);
19929 else return visitor.visitChildren(this);
19930 }
19931 }
19932
19933 public final AlterDefinitionClauseContext alterDefinitionClause() throws RecognitionException {
19934 AlterDefinitionClauseContext _localctx = new AlterDefinitionClauseContext(_ctx, getState());
19935 enterRule(_localctx, 418, RULE_alterDefinitionClause);
19936 try {
19937 setState(2938);
19938 _errHandler.sync(this);
19939 switch ( getInterpreter().adaptivePredict(_input,253,_ctx) ) {
19940 case 1:
19941 enterOuterAlt(_localctx, 1);
19942 {
19943 setState(2929);
19944 addColumnSpecification();
19945 }
19946 break;
19947 case 2:
19948 enterOuterAlt(_localctx, 2);
19949 {
19950 setState(2930);
19951 modifyColumnSpecification();
19952 }
19953 break;
19954 case 3:
19955 enterOuterAlt(_localctx, 3);
19956 {
19957 setState(2931);
19958 alterDrop();
19959 }
19960 break;
19961 case 4:
19962 enterOuterAlt(_localctx, 4);
19963 {
19964 setState(2932);
19965 alterCheckConstraint();
19966 }
19967 break;
19968 case 5:
19969 enterOuterAlt(_localctx, 5);
19970 {
19971 setState(2933);
19972 alterTableTrigger();
19973 }
19974 break;
19975 case 6:
19976 enterOuterAlt(_localctx, 6);
19977 {
19978 setState(2934);
19979 alterSwitch();
19980 }
19981 break;
19982 case 7:
19983 enterOuterAlt(_localctx, 7);
19984 {
19985 setState(2935);
19986 alterSet();
19987 }
19988 break;
19989 case 8:
19990 enterOuterAlt(_localctx, 8);
19991 {
19992 setState(2936);
19993 alterTableOption();
19994 }
19995 break;
19996 case 9:
19997 enterOuterAlt(_localctx, 9);
19998 {
19999 setState(2937);
20000 match(REBUILD);
20001 }
20002 break;
20003 }
20004 }
20005 catch (RecognitionException re) {
20006 _localctx.exception = re;
20007 _errHandler.reportError(this, re);
20008 _errHandler.recover(this, re);
20009 }
20010 finally {
20011 exitRule();
20012 }
20013 return _localctx;
20014 }
20015
20016 public static class AddColumnSpecificationContext extends ParserRuleContext {
20017 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
20018 public AlterColumnAddOptionsContext alterColumnAddOptions() {
20019 return getRuleContext(AlterColumnAddOptionsContext.class,0);
20020 }
20021 public GeneratedColumnNamesClauseContext generatedColumnNamesClause() {
20022 return getRuleContext(GeneratedColumnNamesClauseContext.class,0);
20023 }
20024 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
20025 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
20026 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
20027 public AddColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
20028 super(parent, invokingState);
20029 }
20030 @Override public int getRuleIndex() { return RULE_addColumnSpecification; }
20031 @Override
20032 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20033 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddColumnSpecification(this);
20034 else return visitor.visitChildren(this);
20035 }
20036 }
20037
20038 public final AddColumnSpecificationContext addColumnSpecification() throws RecognitionException {
20039 AddColumnSpecificationContext _localctx = new AddColumnSpecificationContext(_ctx, getState());
20040 enterRule(_localctx, 420, RULE_addColumnSpecification);
20041 int _la;
20042 try {
20043 enterOuterAlt(_localctx, 1);
20044 {
20045 setState(2942);
20046 _errHandler.sync(this);
20047 _la = _input.LA(1);
20048 if (_la==WITH) {
20049 {
20050 setState(2940);
20051 match(WITH);
20052 setState(2941);
20053 _la = _input.LA(1);
20054 if ( !(_la==CHECK || _la==NOCHECK) ) {
20055 _errHandler.recoverInline(this);
20056 }
20057 else {
20058 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20059 _errHandler.reportMatch(this);
20060 consume();
20061 }
20062 }
20063 }
20064
20065 setState(2944);
20066 match(ADD);
20067 setState(2947);
20068 _errHandler.sync(this);
20069 switch ( getInterpreter().adaptivePredict(_input,255,_ctx) ) {
20070 case 1:
20071 {
20072 setState(2945);
20073 alterColumnAddOptions();
20074 }
20075 break;
20076 case 2:
20077 {
20078 setState(2946);
20079 generatedColumnNamesClause();
20080 }
20081 break;
20082 }
20083 }
20084 }
20085 catch (RecognitionException re) {
20086 _localctx.exception = re;
20087 _errHandler.reportError(this, re);
20088 _errHandler.recover(this, re);
20089 }
20090 finally {
20091 exitRule();
20092 }
20093 return _localctx;
20094 }
20095
20096 public static class ModifyColumnSpecificationContext extends ParserRuleContext {
20097 public AlterColumnOperationContext alterColumnOperation() {
20098 return getRuleContext(AlterColumnOperationContext.class,0);
20099 }
20100 public DataTypeContext dataType() {
20101 return getRuleContext(DataTypeContext.class,0);
20102 }
20103 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
20104 public CollationNameContext collationName() {
20105 return getRuleContext(CollationNameContext.class,0);
20106 }
20107 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
20108 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
20109 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
20110 public ModifyColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
20111 super(parent, invokingState);
20112 }
20113 @Override public int getRuleIndex() { return RULE_modifyColumnSpecification; }
20114 @Override
20115 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20116 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitModifyColumnSpecification(this);
20117 else return visitor.visitChildren(this);
20118 }
20119 }
20120
20121 public final ModifyColumnSpecificationContext modifyColumnSpecification() throws RecognitionException {
20122 ModifyColumnSpecificationContext _localctx = new ModifyColumnSpecificationContext(_ctx, getState());
20123 enterRule(_localctx, 422, RULE_modifyColumnSpecification);
20124 int _la;
20125 try {
20126 enterOuterAlt(_localctx, 1);
20127 {
20128 setState(2949);
20129 alterColumnOperation();
20130 setState(2950);
20131 dataType();
20132 setState(2953);
20133 _errHandler.sync(this);
20134 _la = _input.LA(1);
20135 if (_la==COLLATE) {
20136 {
20137 setState(2951);
20138 match(COLLATE);
20139 setState(2952);
20140 collationName();
20141 }
20142 }
20143
20144 setState(2958);
20145 _errHandler.sync(this);
20146 switch (_input.LA(1)) {
20147 case NULL:
20148 {
20149 setState(2955);
20150 match(NULL);
20151 }
20152 break;
20153 case NOT:
20154 {
20155 setState(2956);
20156 match(NOT);
20157 setState(2957);
20158 match(NULL);
20159 }
20160 break;
20161 case EOF:
20162 case COMMA_:
20163 case SEMI_:
20164 case SELECT:
20165 case INSERT:
20166 case UPDATE:
20167 case DELETE:
20168 case CREATE:
20169 case ALTER:
20170 case DROP:
20171 case TRUNCATE:
20172 case SET:
20173 case WITH:
20174 case DECLARE:
20175 case RETURN:
20176 case END:
20177 case SPARSE:
20178 break;
20179 default:
20180 break;
20181 }
20182 setState(2961);
20183 _errHandler.sync(this);
20184 _la = _input.LA(1);
20185 if (_la==SPARSE) {
20186 {
20187 setState(2960);
20188 match(SPARSE);
20189 }
20190 }
20191
20192 }
20193 }
20194 catch (RecognitionException re) {
20195 _localctx.exception = re;
20196 _errHandler.reportError(this, re);
20197 _errHandler.recover(this, re);
20198 }
20199 finally {
20200 exitRule();
20201 }
20202 return _localctx;
20203 }
20204
20205 public static class AlterColumnOperationContext extends ParserRuleContext {
20206 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
20207 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
20208 public ColumnNameContext columnName() {
20209 return getRuleContext(ColumnNameContext.class,0);
20210 }
20211 public AlterColumnOperationContext(ParserRuleContext parent, int invokingState) {
20212 super(parent, invokingState);
20213 }
20214 @Override public int getRuleIndex() { return RULE_alterColumnOperation; }
20215 @Override
20216 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20217 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnOperation(this);
20218 else return visitor.visitChildren(this);
20219 }
20220 }
20221
20222 public final AlterColumnOperationContext alterColumnOperation() throws RecognitionException {
20223 AlterColumnOperationContext _localctx = new AlterColumnOperationContext(_ctx, getState());
20224 enterRule(_localctx, 424, RULE_alterColumnOperation);
20225 try {
20226 enterOuterAlt(_localctx, 1);
20227 {
20228 setState(2963);
20229 match(ALTER);
20230 setState(2964);
20231 match(COLUMN);
20232 setState(2965);
20233 columnName();
20234 }
20235 }
20236 catch (RecognitionException re) {
20237 _localctx.exception = re;
20238 _errHandler.reportError(this, re);
20239 _errHandler.recover(this, re);
20240 }
20241 finally {
20242 exitRule();
20243 }
20244 return _localctx;
20245 }
20246
20247 public static class AlterColumnAddOptionsContext extends ParserRuleContext {
20248 public List<AlterColumnAddOptionContext> alterColumnAddOption() {
20249 return getRuleContexts(AlterColumnAddOptionContext.class);
20250 }
20251 public AlterColumnAddOptionContext alterColumnAddOption(int i) {
20252 return getRuleContext(AlterColumnAddOptionContext.class,i);
20253 }
20254 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
20255 public TerminalNode COMMA_(int i) {
20256 return getToken(SQLServerStatementParser.COMMA_, i);
20257 }
20258 public AlterColumnAddOptionsContext(ParserRuleContext parent, int invokingState) {
20259 super(parent, invokingState);
20260 }
20261 @Override public int getRuleIndex() { return RULE_alterColumnAddOptions; }
20262 @Override
20263 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20264 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnAddOptions(this);
20265 else return visitor.visitChildren(this);
20266 }
20267 }
20268
20269 public final AlterColumnAddOptionsContext alterColumnAddOptions() throws RecognitionException {
20270 AlterColumnAddOptionsContext _localctx = new AlterColumnAddOptionsContext(_ctx, getState());
20271 enterRule(_localctx, 426, RULE_alterColumnAddOptions);
20272 try {
20273 int _alt;
20274 enterOuterAlt(_localctx, 1);
20275 {
20276 setState(2967);
20277 alterColumnAddOption();
20278 setState(2972);
20279 _errHandler.sync(this);
20280 _alt = getInterpreter().adaptivePredict(_input,259,_ctx);
20281 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
20282 if ( _alt==1 ) {
20283 {
20284 {
20285 setState(2968);
20286 match(COMMA_);
20287 setState(2969);
20288 alterColumnAddOption();
20289 }
20290 }
20291 }
20292 setState(2974);
20293 _errHandler.sync(this);
20294 _alt = getInterpreter().adaptivePredict(_input,259,_ctx);
20295 }
20296 }
20297 }
20298 catch (RecognitionException re) {
20299 _localctx.exception = re;
20300 _errHandler.reportError(this, re);
20301 _errHandler.recover(this, re);
20302 }
20303 finally {
20304 exitRule();
20305 }
20306 return _localctx;
20307 }
20308
20309 public static class AlterColumnAddOptionContext extends ParserRuleContext {
20310 public ColumnDefinitionContext columnDefinition() {
20311 return getRuleContext(ColumnDefinitionContext.class,0);
20312 }
20313 public ComputedColumnDefinitionContext computedColumnDefinition() {
20314 return getRuleContext(ComputedColumnDefinitionContext.class,0);
20315 }
20316 public ColumnSetDefinitionContext columnSetDefinition() {
20317 return getRuleContext(ColumnSetDefinitionContext.class,0);
20318 }
20319 public TableConstraintContext tableConstraint() {
20320 return getRuleContext(TableConstraintContext.class,0);
20321 }
20322 public AlterTableTableIndexContext alterTableTableIndex() {
20323 return getRuleContext(AlterTableTableIndexContext.class,0);
20324 }
20325 public ConstraintForColumnContext constraintForColumn() {
20326 return getRuleContext(ConstraintForColumnContext.class,0);
20327 }
20328 public AlterColumnAddOptionContext(ParserRuleContext parent, int invokingState) {
20329 super(parent, invokingState);
20330 }
20331 @Override public int getRuleIndex() { return RULE_alterColumnAddOption; }
20332 @Override
20333 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20334 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnAddOption(this);
20335 else return visitor.visitChildren(this);
20336 }
20337 }
20338
20339 public final AlterColumnAddOptionContext alterColumnAddOption() throws RecognitionException {
20340 AlterColumnAddOptionContext _localctx = new AlterColumnAddOptionContext(_ctx, getState());
20341 enterRule(_localctx, 428, RULE_alterColumnAddOption);
20342 try {
20343 setState(2981);
20344 _errHandler.sync(this);
20345 switch ( getInterpreter().adaptivePredict(_input,260,_ctx) ) {
20346 case 1:
20347 enterOuterAlt(_localctx, 1);
20348 {
20349 setState(2975);
20350 columnDefinition();
20351 }
20352 break;
20353 case 2:
20354 enterOuterAlt(_localctx, 2);
20355 {
20356 setState(2976);
20357 computedColumnDefinition();
20358 }
20359 break;
20360 case 3:
20361 enterOuterAlt(_localctx, 3);
20362 {
20363 setState(2977);
20364 columnSetDefinition();
20365 }
20366 break;
20367 case 4:
20368 enterOuterAlt(_localctx, 4);
20369 {
20370 setState(2978);
20371 tableConstraint();
20372 }
20373 break;
20374 case 5:
20375 enterOuterAlt(_localctx, 5);
20376 {
20377 setState(2979);
20378 alterTableTableIndex();
20379 }
20380 break;
20381 case 6:
20382 enterOuterAlt(_localctx, 6);
20383 {
20384 setState(2980);
20385 constraintForColumn();
20386 }
20387 break;
20388 }
20389 }
20390 catch (RecognitionException re) {
20391 _localctx.exception = re;
20392 _errHandler.reportError(this, re);
20393 _errHandler.recover(this, re);
20394 }
20395 finally {
20396 exitRule();
20397 }
20398 return _localctx;
20399 }
20400
20401 public static class ConstraintForColumnContext extends ParserRuleContext {
20402 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
20403 public SimpleExprContext simpleExpr() {
20404 return getRuleContext(SimpleExprContext.class,0);
20405 }
20406 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
20407 public ColumnNameContext columnName() {
20408 return getRuleContext(ColumnNameContext.class,0);
20409 }
20410 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
20411 public ConstraintNameContext constraintName() {
20412 return getRuleContext(ConstraintNameContext.class,0);
20413 }
20414 public ConstraintForColumnContext(ParserRuleContext parent, int invokingState) {
20415 super(parent, invokingState);
20416 }
20417 @Override public int getRuleIndex() { return RULE_constraintForColumn; }
20418 @Override
20419 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20420 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConstraintForColumn(this);
20421 else return visitor.visitChildren(this);
20422 }
20423 }
20424
20425 public final ConstraintForColumnContext constraintForColumn() throws RecognitionException {
20426 ConstraintForColumnContext _localctx = new ConstraintForColumnContext(_ctx, getState());
20427 enterRule(_localctx, 430, RULE_constraintForColumn);
20428 int _la;
20429 try {
20430 enterOuterAlt(_localctx, 1);
20431 {
20432 setState(2985);
20433 _errHandler.sync(this);
20434 _la = _input.LA(1);
20435 if (_la==CONSTRAINT) {
20436 {
20437 setState(2983);
20438 match(CONSTRAINT);
20439 setState(2984);
20440 constraintName();
20441 }
20442 }
20443
20444 setState(2987);
20445 match(DEFAULT);
20446 setState(2988);
20447 simpleExpr(0);
20448 setState(2989);
20449 match(FOR);
20450 setState(2990);
20451 columnName();
20452 }
20453 }
20454 catch (RecognitionException re) {
20455 _localctx.exception = re;
20456 _errHandler.reportError(this, re);
20457 _errHandler.recover(this, re);
20458 }
20459 finally {
20460 exitRule();
20461 }
20462 return _localctx;
20463 }
20464
20465 public static class GeneratedColumnNamesClauseContext extends ParserRuleContext {
20466 public GeneratedColumnNameClauseContext generatedColumnNameClause() {
20467 return getRuleContext(GeneratedColumnNameClauseContext.class,0);
20468 }
20469 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
20470 public PeriodClauseContext periodClause() {
20471 return getRuleContext(PeriodClauseContext.class,0);
20472 }
20473 public GeneratedColumnNamesClauseContext(ParserRuleContext parent, int invokingState) {
20474 super(parent, invokingState);
20475 }
20476 @Override public int getRuleIndex() { return RULE_generatedColumnNamesClause; }
20477 @Override
20478 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20479 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnNamesClause(this);
20480 else return visitor.visitChildren(this);
20481 }
20482 }
20483
20484 public final GeneratedColumnNamesClauseContext generatedColumnNamesClause() throws RecognitionException {
20485 GeneratedColumnNamesClauseContext _localctx = new GeneratedColumnNamesClauseContext(_ctx, getState());
20486 enterRule(_localctx, 432, RULE_generatedColumnNamesClause);
20487 try {
20488 setState(3000);
20489 _errHandler.sync(this);
20490 switch ( getInterpreter().adaptivePredict(_input,262,_ctx) ) {
20491 case 1:
20492 enterOuterAlt(_localctx, 1);
20493 {
20494 setState(2992);
20495 generatedColumnNameClause();
20496 setState(2993);
20497 match(COMMA_);
20498 setState(2994);
20499 periodClause();
20500 }
20501 break;
20502 case 2:
20503 enterOuterAlt(_localctx, 2);
20504 {
20505 setState(2996);
20506 periodClause();
20507 setState(2997);
20508 match(COMMA_);
20509 setState(2998);
20510 generatedColumnNameClause();
20511 }
20512 break;
20513 }
20514 }
20515 catch (RecognitionException re) {
20516 _localctx.exception = re;
20517 _errHandler.reportError(this, re);
20518 _errHandler.recover(this, re);
20519 }
20520 finally {
20521 exitRule();
20522 }
20523 return _localctx;
20524 }
20525
20526 public static class GeneratedColumnNameClauseContext extends ParserRuleContext {
20527 public List<GeneratedColumnNameContext> generatedColumnName() {
20528 return getRuleContexts(GeneratedColumnNameContext.class);
20529 }
20530 public GeneratedColumnNameContext generatedColumnName(int i) {
20531 return getRuleContext(GeneratedColumnNameContext.class,i);
20532 }
20533 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
20534 public SimpleExprContext simpleExpr() {
20535 return getRuleContext(SimpleExprContext.class,0);
20536 }
20537 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
20538 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
20539 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
20540 public GeneratedColumnNameClauseContext(ParserRuleContext parent, int invokingState) {
20541 super(parent, invokingState);
20542 }
20543 @Override public int getRuleIndex() { return RULE_generatedColumnNameClause; }
20544 @Override
20545 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20546 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnNameClause(this);
20547 else return visitor.visitChildren(this);
20548 }
20549 }
20550
20551 public final GeneratedColumnNameClauseContext generatedColumnNameClause() throws RecognitionException {
20552 GeneratedColumnNameClauseContext _localctx = new GeneratedColumnNameClauseContext(_ctx, getState());
20553 enterRule(_localctx, 434, RULE_generatedColumnNameClause);
20554 int _la;
20555 try {
20556 enterOuterAlt(_localctx, 1);
20557 {
20558 setState(3002);
20559 generatedColumnName();
20560 setState(3003);
20561 match(DEFAULT);
20562 setState(3004);
20563 simpleExpr(0);
20564 setState(3007);
20565 _errHandler.sync(this);
20566 _la = _input.LA(1);
20567 if (_la==WITH) {
20568 {
20569 setState(3005);
20570 match(WITH);
20571 setState(3006);
20572 match(VALUES);
20573 }
20574 }
20575
20576 setState(3009);
20577 match(COMMA_);
20578 setState(3010);
20579 generatedColumnName();
20580 }
20581 }
20582 catch (RecognitionException re) {
20583 _localctx.exception = re;
20584 _errHandler.reportError(this, re);
20585 _errHandler.recover(this, re);
20586 }
20587 finally {
20588 exitRule();
20589 }
20590 return _localctx;
20591 }
20592
20593 public static class GeneratedColumnNameContext extends ParserRuleContext {
20594 public ColumnNameContext columnName() {
20595 return getRuleContext(ColumnNameContext.class,0);
20596 }
20597 public DataTypeNameContext dataTypeName() {
20598 return getRuleContext(DataTypeNameContext.class,0);
20599 }
20600 public TerminalNode GENERATED() { return getToken(SQLServerStatementParser.GENERATED, 0); }
20601 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
20602 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
20603 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
20604 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
20605 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
20606 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
20607 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
20608 public IgnoredIdentifierContext ignoredIdentifier() {
20609 return getRuleContext(IgnoredIdentifierContext.class,0);
20610 }
20611 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
20612 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
20613 public GeneratedColumnNameContext(ParserRuleContext parent, int invokingState) {
20614 super(parent, invokingState);
20615 }
20616 @Override public int getRuleIndex() { return RULE_generatedColumnName; }
20617 @Override
20618 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20619 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnName(this);
20620 else return visitor.visitChildren(this);
20621 }
20622 }
20623
20624 public final GeneratedColumnNameContext generatedColumnName() throws RecognitionException {
20625 GeneratedColumnNameContext _localctx = new GeneratedColumnNameContext(_ctx, getState());
20626 enterRule(_localctx, 436, RULE_generatedColumnName);
20627 int _la;
20628 try {
20629 enterOuterAlt(_localctx, 1);
20630 {
20631 setState(3012);
20632 columnName();
20633 setState(3013);
20634 dataTypeName();
20635 setState(3014);
20636 match(GENERATED);
20637 setState(3015);
20638 match(ALWAYS);
20639 setState(3016);
20640 match(AS);
20641 setState(3017);
20642 match(ROW);
20643 setState(3019);
20644 _errHandler.sync(this);
20645 switch ( getInterpreter().adaptivePredict(_input,264,_ctx) ) {
20646 case 1:
20647 {
20648 setState(3018);
20649 _la = _input.LA(1);
20650 if ( !(_la==START || _la==END) ) {
20651 _errHandler.recoverInline(this);
20652 }
20653 else {
20654 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20655 _errHandler.reportMatch(this);
20656 consume();
20657 }
20658 }
20659 break;
20660 }
20661 setState(3022);
20662 _errHandler.sync(this);
20663 _la = _input.LA(1);
20664 if (_la==HIDDEN_) {
20665 {
20666 setState(3021);
20667 match(HIDDEN_);
20668 }
20669 }
20670
20671 setState(3026);
20672 _errHandler.sync(this);
20673 _la = _input.LA(1);
20674 if (_la==NOT) {
20675 {
20676 setState(3024);
20677 match(NOT);
20678 setState(3025);
20679 match(NULL);
20680 }
20681 }
20682
20683 setState(3030);
20684 _errHandler.sync(this);
20685 _la = _input.LA(1);
20686 if (_la==CONSTRAINT) {
20687 {
20688 setState(3028);
20689 match(CONSTRAINT);
20690 setState(3029);
20691 ignoredIdentifier();
20692 }
20693 }
20694
20695 }
20696 }
20697 catch (RecognitionException re) {
20698 _localctx.exception = re;
20699 _errHandler.reportError(this, re);
20700 _errHandler.recover(this, re);
20701 }
20702 finally {
20703 exitRule();
20704 }
20705 return _localctx;
20706 }
20707
20708 public static class AlterDropContext extends ParserRuleContext {
20709 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
20710 public AlterTableDropConstraintContext alterTableDropConstraint() {
20711 return getRuleContext(AlterTableDropConstraintContext.class,0);
20712 }
20713 public DropColumnSpecificationContext dropColumnSpecification() {
20714 return getRuleContext(DropColumnSpecificationContext.class,0);
20715 }
20716 public DropIndexSpecificationContext dropIndexSpecification() {
20717 return getRuleContext(DropIndexSpecificationContext.class,0);
20718 }
20719 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
20720 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
20721 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
20722 public AlterDropContext(ParserRuleContext parent, int invokingState) {
20723 super(parent, invokingState);
20724 }
20725 @Override public int getRuleIndex() { return RULE_alterDrop; }
20726 @Override
20727 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20728 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDrop(this);
20729 else return visitor.visitChildren(this);
20730 }
20731 }
20732
20733 public final AlterDropContext alterDrop() throws RecognitionException {
20734 AlterDropContext _localctx = new AlterDropContext(_ctx, getState());
20735 enterRule(_localctx, 438, RULE_alterDrop);
20736 try {
20737 enterOuterAlt(_localctx, 1);
20738 {
20739 setState(3032);
20740 match(DROP);
20741 setState(3039);
20742 _errHandler.sync(this);
20743 switch ( getInterpreter().adaptivePredict(_input,268,_ctx) ) {
20744 case 1:
20745 {
20746 setState(3033);
20747 alterTableDropConstraint();
20748 }
20749 break;
20750 case 2:
20751 {
20752 setState(3034);
20753 dropColumnSpecification();
20754 }
20755 break;
20756 case 3:
20757 {
20758 setState(3035);
20759 dropIndexSpecification();
20760 }
20761 break;
20762 case 4:
20763 {
20764 setState(3036);
20765 match(PERIOD);
20766 setState(3037);
20767 match(FOR);
20768 setState(3038);
20769 match(SYSTEM_TIME);
20770 }
20771 break;
20772 }
20773 }
20774 }
20775 catch (RecognitionException re) {
20776 _localctx.exception = re;
20777 _errHandler.reportError(this, re);
20778 _errHandler.recover(this, re);
20779 }
20780 finally {
20781 exitRule();
20782 }
20783 return _localctx;
20784 }
20785
20786 public static class AlterTableDropConstraintContext extends ParserRuleContext {
20787 public List<DropConstraintNameContext> dropConstraintName() {
20788 return getRuleContexts(DropConstraintNameContext.class);
20789 }
20790 public DropConstraintNameContext dropConstraintName(int i) {
20791 return getRuleContext(DropConstraintNameContext.class,i);
20792 }
20793 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
20794 public IfExistsContext ifExists() {
20795 return getRuleContext(IfExistsContext.class,0);
20796 }
20797 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
20798 public TerminalNode COMMA_(int i) {
20799 return getToken(SQLServerStatementParser.COMMA_, i);
20800 }
20801 public AlterTableDropConstraintContext(ParserRuleContext parent, int invokingState) {
20802 super(parent, invokingState);
20803 }
20804 @Override public int getRuleIndex() { return RULE_alterTableDropConstraint; }
20805 @Override
20806 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20807 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableDropConstraint(this);
20808 else return visitor.visitChildren(this);
20809 }
20810 }
20811
20812 public final AlterTableDropConstraintContext alterTableDropConstraint() throws RecognitionException {
20813 AlterTableDropConstraintContext _localctx = new AlterTableDropConstraintContext(_ctx, getState());
20814 enterRule(_localctx, 440, RULE_alterTableDropConstraint);
20815 int _la;
20816 try {
20817 int _alt;
20818 enterOuterAlt(_localctx, 1);
20819 {
20820 setState(3042);
20821 _errHandler.sync(this);
20822 _la = _input.LA(1);
20823 if (_la==CONSTRAINT) {
20824 {
20825 setState(3041);
20826 match(CONSTRAINT);
20827 }
20828 }
20829
20830 setState(3045);
20831 _errHandler.sync(this);
20832 _la = _input.LA(1);
20833 if (_la==IF) {
20834 {
20835 setState(3044);
20836 ifExists();
20837 }
20838 }
20839
20840 setState(3047);
20841 dropConstraintName();
20842 setState(3052);
20843 _errHandler.sync(this);
20844 _alt = getInterpreter().adaptivePredict(_input,271,_ctx);
20845 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
20846 if ( _alt==1 ) {
20847 {
20848 {
20849 setState(3048);
20850 match(COMMA_);
20851 setState(3049);
20852 dropConstraintName();
20853 }
20854 }
20855 }
20856 setState(3054);
20857 _errHandler.sync(this);
20858 _alt = getInterpreter().adaptivePredict(_input,271,_ctx);
20859 }
20860 }
20861 }
20862 catch (RecognitionException re) {
20863 _localctx.exception = re;
20864 _errHandler.reportError(this, re);
20865 _errHandler.recover(this, re);
20866 }
20867 finally {
20868 exitRule();
20869 }
20870 return _localctx;
20871 }
20872
20873 public static class DropConstraintNameContext extends ParserRuleContext {
20874 public ConstraintNameContext constraintName() {
20875 return getRuleContext(ConstraintNameContext.class,0);
20876 }
20877 public DropConstraintWithClauseContext dropConstraintWithClause() {
20878 return getRuleContext(DropConstraintWithClauseContext.class,0);
20879 }
20880 public DropConstraintNameContext(ParserRuleContext parent, int invokingState) {
20881 super(parent, invokingState);
20882 }
20883 @Override public int getRuleIndex() { return RULE_dropConstraintName; }
20884 @Override
20885 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20886 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintName(this);
20887 else return visitor.visitChildren(this);
20888 }
20889 }
20890
20891 public final DropConstraintNameContext dropConstraintName() throws RecognitionException {
20892 DropConstraintNameContext _localctx = new DropConstraintNameContext(_ctx, getState());
20893 enterRule(_localctx, 442, RULE_dropConstraintName);
20894 try {
20895 enterOuterAlt(_localctx, 1);
20896 {
20897 setState(3055);
20898 constraintName();
20899 setState(3057);
20900 _errHandler.sync(this);
20901 switch ( getInterpreter().adaptivePredict(_input,272,_ctx) ) {
20902 case 1:
20903 {
20904 setState(3056);
20905 dropConstraintWithClause();
20906 }
20907 break;
20908 }
20909 }
20910 }
20911 catch (RecognitionException re) {
20912 _localctx.exception = re;
20913 _errHandler.reportError(this, re);
20914 _errHandler.recover(this, re);
20915 }
20916 finally {
20917 exitRule();
20918 }
20919 return _localctx;
20920 }
20921
20922 public static class DropConstraintWithClauseContext extends ParserRuleContext {
20923 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
20924 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
20925 public List<DropConstraintOptionContext> dropConstraintOption() {
20926 return getRuleContexts(DropConstraintOptionContext.class);
20927 }
20928 public DropConstraintOptionContext dropConstraintOption(int i) {
20929 return getRuleContext(DropConstraintOptionContext.class,i);
20930 }
20931 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
20932 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
20933 public TerminalNode COMMA_(int i) {
20934 return getToken(SQLServerStatementParser.COMMA_, i);
20935 }
20936 public DropConstraintWithClauseContext(ParserRuleContext parent, int invokingState) {
20937 super(parent, invokingState);
20938 }
20939 @Override public int getRuleIndex() { return RULE_dropConstraintWithClause; }
20940 @Override
20941 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20942 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintWithClause(this);
20943 else return visitor.visitChildren(this);
20944 }
20945 }
20946
20947 public final DropConstraintWithClauseContext dropConstraintWithClause() throws RecognitionException {
20948 DropConstraintWithClauseContext _localctx = new DropConstraintWithClauseContext(_ctx, getState());
20949 enterRule(_localctx, 444, RULE_dropConstraintWithClause);
20950 int _la;
20951 try {
20952 enterOuterAlt(_localctx, 1);
20953 {
20954 setState(3059);
20955 match(WITH);
20956 setState(3060);
20957 match(LP_);
20958 setState(3061);
20959 dropConstraintOption();
20960 setState(3066);
20961 _errHandler.sync(this);
20962 _la = _input.LA(1);
20963 while (_la==COMMA_) {
20964 {
20965 {
20966 setState(3062);
20967 match(COMMA_);
20968 setState(3063);
20969 dropConstraintOption();
20970 }
20971 }
20972 setState(3068);
20973 _errHandler.sync(this);
20974 _la = _input.LA(1);
20975 }
20976 setState(3069);
20977 match(RP_);
20978 }
20979 }
20980 catch (RecognitionException re) {
20981 _localctx.exception = re;
20982 _errHandler.reportError(this, re);
20983 _errHandler.recover(this, re);
20984 }
20985 finally {
20986 exitRule();
20987 }
20988 return _localctx;
20989 }
20990
20991 public static class DropConstraintOptionContext extends ParserRuleContext {
20992 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
20993 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
20994 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
20995 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
20996 public OnOffOptionContext onOffOption() {
20997 return getRuleContext(OnOffOptionContext.class,0);
20998 }
20999 public TerminalNode MOVE() { return getToken(SQLServerStatementParser.MOVE, 0); }
21000 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
21001 public SchemaNameContext schemaName() {
21002 return getRuleContext(SchemaNameContext.class,0);
21003 }
21004 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
21005 public ColumnNameContext columnName() {
21006 return getRuleContext(ColumnNameContext.class,0);
21007 }
21008 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
21009 public IgnoredIdentifierContext ignoredIdentifier() {
21010 return getRuleContext(IgnoredIdentifierContext.class,0);
21011 }
21012 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
21013 public DropConstraintOptionContext(ParserRuleContext parent, int invokingState) {
21014 super(parent, invokingState);
21015 }
21016 @Override public int getRuleIndex() { return RULE_dropConstraintOption; }
21017 @Override
21018 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21019 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintOption(this);
21020 else return visitor.visitChildren(this);
21021 }
21022 }
21023
21024 public final DropConstraintOptionContext dropConstraintOption() throws RecognitionException {
21025 DropConstraintOptionContext _localctx = new DropConstraintOptionContext(_ctx, getState());
21026 enterRule(_localctx, 446, RULE_dropConstraintOption);
21027 try {
21028 enterOuterAlt(_localctx, 1);
21029 {
21030 setState(3088);
21031 _errHandler.sync(this);
21032 switch (_input.LA(1)) {
21033 case MAXDOP:
21034 {
21035 setState(3071);
21036 match(MAXDOP);
21037 setState(3072);
21038 match(EQ_);
21039 setState(3073);
21040 match(NUMBER_);
21041 }
21042 break;
21043 case ONLINE:
21044 {
21045 setState(3074);
21046 match(ONLINE);
21047 setState(3075);
21048 match(EQ_);
21049 setState(3076);
21050 onOffOption();
21051 }
21052 break;
21053 case MOVE:
21054 {
21055 setState(3077);
21056 match(MOVE);
21057 setState(3078);
21058 match(TO);
21059 setState(3086);
21060 _errHandler.sync(this);
21061 switch ( getInterpreter().adaptivePredict(_input,274,_ctx) ) {
21062 case 1:
21063 {
21064 setState(3079);
21065 schemaName();
21066 setState(3080);
21067 match(LP_);
21068 setState(3081);
21069 columnName();
21070 setState(3082);
21071 match(RP_);
21072 }
21073 break;
21074 case 2:
21075 {
21076 setState(3084);
21077 ignoredIdentifier();
21078 }
21079 break;
21080 case 3:
21081 {
21082 setState(3085);
21083 match(STRING_);
21084 }
21085 break;
21086 }
21087 }
21088 break;
21089 default:
21090 throw new NoViableAltException(this);
21091 }
21092 }
21093 }
21094 catch (RecognitionException re) {
21095 _localctx.exception = re;
21096 _errHandler.reportError(this, re);
21097 _errHandler.recover(this, re);
21098 }
21099 finally {
21100 exitRule();
21101 }
21102 return _localctx;
21103 }
21104
21105 public static class OnOffOptionContext extends ParserRuleContext {
21106 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
21107 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
21108 public OnOffOptionContext(ParserRuleContext parent, int invokingState) {
21109 super(parent, invokingState);
21110 }
21111 @Override public int getRuleIndex() { return RULE_onOffOption; }
21112 @Override
21113 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21114 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnOffOption(this);
21115 else return visitor.visitChildren(this);
21116 }
21117 }
21118
21119 public final OnOffOptionContext onOffOption() throws RecognitionException {
21120 OnOffOptionContext _localctx = new OnOffOptionContext(_ctx, getState());
21121 enterRule(_localctx, 448, RULE_onOffOption);
21122 int _la;
21123 try {
21124 enterOuterAlt(_localctx, 1);
21125 {
21126 setState(3090);
21127 _la = _input.LA(1);
21128 if ( !(_la==ON || _la==OFF) ) {
21129 _errHandler.recoverInline(this);
21130 }
21131 else {
21132 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21133 _errHandler.reportMatch(this);
21134 consume();
21135 }
21136 }
21137 }
21138 catch (RecognitionException re) {
21139 _localctx.exception = re;
21140 _errHandler.reportError(this, re);
21141 _errHandler.recover(this, re);
21142 }
21143 finally {
21144 exitRule();
21145 }
21146 return _localctx;
21147 }
21148
21149 public static class DropColumnSpecificationContext extends ParserRuleContext {
21150 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
21151 public List<ColumnNameContext> columnName() {
21152 return getRuleContexts(ColumnNameContext.class);
21153 }
21154 public ColumnNameContext columnName(int i) {
21155 return getRuleContext(ColumnNameContext.class,i);
21156 }
21157 public IfExistsContext ifExists() {
21158 return getRuleContext(IfExistsContext.class,0);
21159 }
21160 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
21161 public TerminalNode COMMA_(int i) {
21162 return getToken(SQLServerStatementParser.COMMA_, i);
21163 }
21164 public DropColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
21165 super(parent, invokingState);
21166 }
21167 @Override public int getRuleIndex() { return RULE_dropColumnSpecification; }
21168 @Override
21169 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21170 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropColumnSpecification(this);
21171 else return visitor.visitChildren(this);
21172 }
21173 }
21174
21175 public final DropColumnSpecificationContext dropColumnSpecification() throws RecognitionException {
21176 DropColumnSpecificationContext _localctx = new DropColumnSpecificationContext(_ctx, getState());
21177 enterRule(_localctx, 450, RULE_dropColumnSpecification);
21178 int _la;
21179 try {
21180 int _alt;
21181 enterOuterAlt(_localctx, 1);
21182 {
21183 setState(3092);
21184 match(COLUMN);
21185 setState(3094);
21186 _errHandler.sync(this);
21187 _la = _input.LA(1);
21188 if (_la==IF) {
21189 {
21190 setState(3093);
21191 ifExists();
21192 }
21193 }
21194
21195 setState(3096);
21196 columnName();
21197 setState(3101);
21198 _errHandler.sync(this);
21199 _alt = getInterpreter().adaptivePredict(_input,277,_ctx);
21200 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
21201 if ( _alt==1 ) {
21202 {
21203 {
21204 setState(3097);
21205 match(COMMA_);
21206 setState(3098);
21207 columnName();
21208 }
21209 }
21210 }
21211 setState(3103);
21212 _errHandler.sync(this);
21213 _alt = getInterpreter().adaptivePredict(_input,277,_ctx);
21214 }
21215 }
21216 }
21217 catch (RecognitionException re) {
21218 _localctx.exception = re;
21219 _errHandler.reportError(this, re);
21220 _errHandler.recover(this, re);
21221 }
21222 finally {
21223 exitRule();
21224 }
21225 return _localctx;
21226 }
21227
21228 public static class DropIndexSpecificationContext extends ParserRuleContext {
21229 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
21230 public List<IndexNameContext> indexName() {
21231 return getRuleContexts(IndexNameContext.class);
21232 }
21233 public IndexNameContext indexName(int i) {
21234 return getRuleContext(IndexNameContext.class,i);
21235 }
21236 public IfExistsContext ifExists() {
21237 return getRuleContext(IfExistsContext.class,0);
21238 }
21239 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
21240 public TerminalNode COMMA_(int i) {
21241 return getToken(SQLServerStatementParser.COMMA_, i);
21242 }
21243 public DropIndexSpecificationContext(ParserRuleContext parent, int invokingState) {
21244 super(parent, invokingState);
21245 }
21246 @Override public int getRuleIndex() { return RULE_dropIndexSpecification; }
21247 @Override
21248 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21249 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropIndexSpecification(this);
21250 else return visitor.visitChildren(this);
21251 }
21252 }
21253
21254 public final DropIndexSpecificationContext dropIndexSpecification() throws RecognitionException {
21255 DropIndexSpecificationContext _localctx = new DropIndexSpecificationContext(_ctx, getState());
21256 enterRule(_localctx, 452, RULE_dropIndexSpecification);
21257 int _la;
21258 try {
21259 int _alt;
21260 enterOuterAlt(_localctx, 1);
21261 {
21262 setState(3104);
21263 match(INDEX);
21264 setState(3106);
21265 _errHandler.sync(this);
21266 _la = _input.LA(1);
21267 if (_la==IF) {
21268 {
21269 setState(3105);
21270 ifExists();
21271 }
21272 }
21273
21274 setState(3108);
21275 indexName();
21276 setState(3113);
21277 _errHandler.sync(this);
21278 _alt = getInterpreter().adaptivePredict(_input,279,_ctx);
21279 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
21280 if ( _alt==1 ) {
21281 {
21282 {
21283 setState(3109);
21284 match(COMMA_);
21285 setState(3110);
21286 indexName();
21287 }
21288 }
21289 }
21290 setState(3115);
21291 _errHandler.sync(this);
21292 _alt = getInterpreter().adaptivePredict(_input,279,_ctx);
21293 }
21294 }
21295 }
21296 catch (RecognitionException re) {
21297 _localctx.exception = re;
21298 _errHandler.reportError(this, re);
21299 _errHandler.recover(this, re);
21300 }
21301 finally {
21302 exitRule();
21303 }
21304 return _localctx;
21305 }
21306
21307 public static class AlterCheckConstraintContext extends ParserRuleContext {
21308 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
21309 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
21310 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
21311 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
21312 public ConstraintNameContext constraintName() {
21313 return getRuleContext(ConstraintNameContext.class,0);
21314 }
21315 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
21316 public AlterCheckConstraintContext(ParserRuleContext parent, int invokingState) {
21317 super(parent, invokingState);
21318 }
21319 @Override public int getRuleIndex() { return RULE_alterCheckConstraint; }
21320 @Override
21321 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21322 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterCheckConstraint(this);
21323 else return visitor.visitChildren(this);
21324 }
21325 }
21326
21327 public final AlterCheckConstraintContext alterCheckConstraint() throws RecognitionException {
21328 AlterCheckConstraintContext _localctx = new AlterCheckConstraintContext(_ctx, getState());
21329 enterRule(_localctx, 454, RULE_alterCheckConstraint);
21330 int _la;
21331 try {
21332 enterOuterAlt(_localctx, 1);
21333 {
21334 setState(3117);
21335 _errHandler.sync(this);
21336 _la = _input.LA(1);
21337 if (_la==WITH) {
21338 {
21339 setState(3116);
21340 match(WITH);
21341 }
21342 }
21343
21344 setState(3119);
21345 _la = _input.LA(1);
21346 if ( !(_la==CHECK || _la==NOCHECK) ) {
21347 _errHandler.recoverInline(this);
21348 }
21349 else {
21350 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21351 _errHandler.reportMatch(this);
21352 consume();
21353 }
21354 setState(3120);
21355 match(CONSTRAINT);
21356 setState(3123);
21357 _errHandler.sync(this);
21358 switch (_input.LA(1)) {
21359 case ALL:
21360 {
21361 setState(3121);
21362 match(ALL);
21363 }
21364 break;
21365 case TRUNCATE:
21366 case SCHEMA:
21367 case COLUMNS:
21368 case PRECISION:
21369 case FUNCTION:
21370 case TRIGGER:
21371 case CAST:
21372 case SUBSTRING:
21373 case OFF:
21374 case GROUP:
21375 case LIMIT:
21376 case OFFSET:
21377 case SAVEPOINT:
21378 case BOOLEAN:
21379 case ARRAY:
21380 case DATE:
21381 case LOCALTIME:
21382 case LOCALTIMESTAMP:
21383 case QUARTER:
21384 case WEEK:
21385 case DAY:
21386 case SECOND:
21387 case MICROSECOND:
21388 case MAX:
21389 case MIN:
21390 case SUM:
21391 case COUNT:
21392 case AVG:
21393 case ENABLE:
21394 case DISABLE:
21395 case INSTANCE:
21396 case DO:
21397 case DEFINER:
21398 case SQL:
21399 case CASCADED:
21400 case LOCAL:
21401 case NEXT:
21402 case NAME:
21403 case INTEGER:
21404 case TYPE:
21405 case TEXT:
21406 case VIEWS:
21407 case READ_ONLY:
21408 case DATABASE:
21409 case RETURNS:
21410 case DATEPART:
21411 case PASSWORD:
21412 case BINARY:
21413 case HIDDEN_:
21414 case MOD:
21415 case PARTITION:
21416 case PARTITIONS:
21417 case TOP:
21418 case ROW:
21419 case ROWS:
21420 case XOR:
21421 case ALWAYS:
21422 case ROLE:
21423 case START:
21424 case ALGORITHM:
21425 case AUTO:
21426 case BLOCKERS:
21427 case CLUSTERED:
21428 case NONCLUSTERED:
21429 case COLUMNSTORE:
21430 case CONTENT:
21431 case YEARS:
21432 case MONTHS:
21433 case WEEKS:
21434 case DAYS:
21435 case MINUTES:
21436 case DENY:
21437 case DETERMINISTIC:
21438 case DISTRIBUTION:
21439 case DOCUMENT:
21440 case DURABILITY:
21441 case ENCRYPTED:
21442 case FILESTREAM:
21443 case FILETABLE:
21444 case FILLFACTOR:
21445 case FOLLOWING:
21446 case HASH:
21447 case HEAP:
21448 case INBOUND:
21449 case OUTBOUND:
21450 case UNBOUNDED:
21451 case INFINITE:
21452 case LOGIN:
21453 case MASKED:
21454 case MAXDOP:
21455 case MOVE:
21456 case NOCHECK:
21457 case OBJECT:
21458 case ONLINE:
21459 case OVER:
21460 case PAGE:
21461 case PAUSED:
21462 case PERIOD:
21463 case PERSISTED:
21464 case PRECEDING:
21465 case RANDOMIZED:
21466 case RANGE:
21467 case REBUILD:
21468 case REPLICATE:
21469 case REPLICATION:
21470 case RESUMABLE:
21471 case ROWGUIDCOL:
21472 case SAVE:
21473 case SELF:
21474 case SPARSE:
21475 case SWITCH:
21476 case TRAN:
21477 case TRANCOUNT:
21478 case CONTROL:
21479 case CONCAT:
21480 case TAKE:
21481 case OWNERSHIP:
21482 case DEFINITION:
21483 case APPLICATION:
21484 case ASSEMBLY:
21485 case SYMMETRIC:
21486 case ASYMMETRIC:
21487 case SERVER:
21488 case RECEIVE:
21489 case CHANGE:
21490 case TRACE:
21491 case TRACKING:
21492 case RESOURCES:
21493 case SETTINGS:
21494 case STATE:
21495 case AVAILABILITY:
21496 case CREDENTIAL:
21497 case ENDPOINT:
21498 case EVENT:
21499 case NOTIFICATION:
21500 case LINKED:
21501 case AUDIT:
21502 case DDL:
21503 case XML:
21504 case IMPERSONATE:
21505 case SECURABLES:
21506 case AUTHENTICATE:
21507 case EXTERNAL:
21508 case ACCESS:
21509 case ADMINISTER:
21510 case BULK:
21511 case OPERATIONS:
21512 case UNSAFE:
21513 case SHUTDOWN:
21514 case SCOPED:
21515 case CONFIGURATION:
21516 case DATASPACE:
21517 case SERVICE:
21518 case CERTIFICATE:
21519 case CONTRACT:
21520 case ENCRYPTION:
21521 case MASTER:
21522 case DATA:
21523 case SOURCE:
21524 case FILE:
21525 case FORMAT:
21526 case LIBRARY:
21527 case FULLTEXT:
21528 case MASK:
21529 case UNMASK:
21530 case MESSAGE:
21531 case REMOTE:
21532 case BINDING:
21533 case ROUTE:
21534 case SECURITY:
21535 case POLICY:
21536 case AGGREGATE:
21537 case QUEUE:
21538 case RULE:
21539 case SYNONYM:
21540 case COLLECTION:
21541 case SCRIPT:
21542 case KILL:
21543 case BACKUP:
21544 case LOG:
21545 case SHOWPLAN:
21546 case SUBSCRIBE:
21547 case QUERY:
21548 case NOTIFICATIONS:
21549 case CHECKPOINT:
21550 case SEQUENCE:
21551 case ABORT_AFTER_WAIT:
21552 case ALLOW_PAGE_LOCKS:
21553 case ALLOW_ROW_LOCKS:
21554 case ALL_SPARSE_COLUMNS:
21555 case BUCKET_COUNT:
21556 case COLUMNSTORE_ARCHIVE:
21557 case COLUMN_ENCRYPTION_KEY:
21558 case COLUMN_SET:
21559 case COMPRESSION_DELAY:
21560 case DATABASE_DEAULT:
21561 case DATA_COMPRESSION:
21562 case DATA_CONSISTENCY_CHECK:
21563 case ENCRYPTION_TYPE:
21564 case SYSTEM_TIME:
21565 case SYSTEM_VERSIONING:
21566 case TEXTIMAGE_ON:
21567 case WAIT_AT_LOW_PRIORITY:
21568 case STATISTICS_INCREMENTAL:
21569 case STATISTICS_NORECOMPUTE:
21570 case ROUND_ROBIN:
21571 case SCHEMA_AND_DATA:
21572 case SCHEMA_ONLY:
21573 case SORT_IN_TEMPDB:
21574 case IGNORE_DUP_KEY:
21575 case IMPLICIT_TRANSACTIONS:
21576 case MAX_DURATION:
21577 case MEMORY_OPTIMIZED:
21578 case MIGRATION_STATE:
21579 case PAD_INDEX:
21580 case REMOTE_DATA_ARCHIVE:
21581 case FILESTREAM_ON:
21582 case FILETABLE_COLLATE_FILENAME:
21583 case FILETABLE_DIRECTORY:
21584 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
21585 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
21586 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
21587 case FILTER_PREDICATE:
21588 case HISTORY_RETENTION_PERIOD:
21589 case HISTORY_TABLE:
21590 case LOCK_ESCALATION:
21591 case DROP_EXISTING:
21592 case ROW_NUMBER:
21593 case FIRST:
21594 case DATETIME2:
21595 case OUTPUT:
21596 case INSERTED:
21597 case DELETED:
21598 case FILENAME:
21599 case MAXSIZE:
21600 case FILEGROWTH:
21601 case UNLIMITED:
21602 case KB:
21603 case MB:
21604 case GB:
21605 case TB:
21606 case MEMORY_OPTIMIZED_DATA:
21607 case FILEGROUP:
21608 case NON_TRANSACTED_ACCESS:
21609 case DB_CHAINING:
21610 case TRUSTWORTHY:
21611 case FORWARD_ONLY:
21612 case KEYSET:
21613 case FAST_FORWARD:
21614 case SCROLL_LOCKS:
21615 case OPTIMISTIC:
21616 case TYPE_WARNING:
21617 case SCHEMABINDING:
21618 case CALLER:
21619 case OWNER:
21620 case SNAPSHOT:
21621 case REPEATABLE:
21622 case SERIALIZABLE:
21623 case NATIVE_COMPILATION:
21624 case VIEW_METADATA:
21625 case INSTEAD:
21626 case APPEND:
21627 case INCREMENT:
21628 case CACHE:
21629 case MINVALUE:
21630 case MAXVALUE:
21631 case RESTART:
21632 case LOB_COMPACTION:
21633 case COMPRESS_ALL_ROW_GROUPS:
21634 case REORGANIZE:
21635 case RESUME:
21636 case PAUSE:
21637 case ABORT:
21638 case ACCELERATED_DATABASE_RECOVERY:
21639 case PERSISTENT_VERSION_STORE_FILEGROUP:
21640 case IMMEDIATE:
21641 case NO_WAIT:
21642 case TARGET_RECOVERY_TIME:
21643 case SECONDS:
21644 case HONOR_BROKER_PRIORITY:
21645 case ERROR_BROKER_CONVERSATIONS:
21646 case NEW_BROKER:
21647 case DISABLE_BROKER:
21648 case ENABLE_BROKER:
21649 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
21650 case READ_COMMITTED_SNAPSHOT:
21651 case ALLOW_SNAPSHOT_ISOLATION:
21652 case RECURSIVE_TRIGGERS:
21653 case QUOTED_IDENTIFIER:
21654 case NUMERIC_ROUNDABORT:
21655 case CONCAT_NULL_YIELDS_NULL:
21656 case COMPATIBILITY_LEVEL:
21657 case ARITHABORT:
21658 case ANSI_WARNINGS:
21659 case ANSI_PADDING:
21660 case ANSI_NULLS:
21661 case ANSI_NULL_DEFAULT:
21662 case PAGE_VERIFY:
21663 case CHECKSUM:
21664 case TORN_PAGE_DETECTION:
21665 case BULK_LOGGED:
21666 case RECOVERY:
21667 case TOTAL_EXECUTION_CPU_TIME_MS:
21668 case TOTAL_COMPILE_CPU_TIME_MS:
21669 case STALE_CAPTURE_POLICY_THRESHOLD:
21670 case EXECUTION_COUNT:
21671 case QUERY_CAPTURE_POLICY:
21672 case WAIT_STATS_CAPTURE_MODE:
21673 case MAX_PLANS_PER_QUERY:
21674 case QUERY_CAPTURE_MODE:
21675 case SIZE_BASED_CLEANUP_MODE:
21676 case INTERVAL_LENGTH_MINUTES:
21677 case MAX_STORAGE_SIZE_MB:
21678 case DATA_FLUSH_INTERVAL_SECONDS:
21679 case CLEANUP_POLICY:
21680 case CUSTOM:
21681 case STALE_QUERY_THRESHOLD_DAYS:
21682 case OPERATION_MODE:
21683 case QUERY_STORE:
21684 case CURSOR_DEFAULT:
21685 case GLOBAL:
21686 case CURSOR_CLOSE_ON_COMMIT:
21687 case HOURS:
21688 case CHANGE_RETENTION:
21689 case AUTO_CLEANUP:
21690 case CHANGE_TRACKING:
21691 case AUTOMATIC_TUNING:
21692 case FORCE_LAST_GOOD_PLAN:
21693 case AUTO_UPDATE_STATISTICS_ASYNC:
21694 case AUTO_UPDATE_STATISTICS:
21695 case AUTO_SHRINK:
21696 case AUTO_CREATE_STATISTICS:
21697 case INCREMENTAL:
21698 case AUTO_CLOSE:
21699 case DATA_RETENTION:
21700 case TEMPORAL_HISTORY_RETENTION:
21701 case EDITION:
21702 case MIXED_PAGE_ALLOCATION:
21703 case DISABLED:
21704 case ALLOWED:
21705 case HADR:
21706 case MULTI_USER:
21707 case RESTRICTED_USER:
21708 case SINGLE_USER:
21709 case OFFLINE:
21710 case EMERGENCY:
21711 case SUSPEND:
21712 case DATE_CORRELATION_OPTIMIZATION:
21713 case ELASTIC_POOL:
21714 case SERVICE_OBJECTIVE:
21715 case DATABASE_NAME:
21716 case ALLOW_CONNECTIONS:
21717 case GEO:
21718 case NAMED:
21719 case DATEFIRST:
21720 case BACKUP_STORAGE_REDUNDANCY:
21721 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
21722 case SECONDARY:
21723 case FAILOVER:
21724 case DEFAULT_FULLTEXT_LANGUAGE:
21725 case DEFAULT_LANGUAGE:
21726 case INLINE:
21727 case NESTED_TRIGGERS:
21728 case TRANSFORM_NOISE_WORDS:
21729 case TWO_DIGIT_YEAR_CUTOFF:
21730 case PERSISTENT_LOG_BUFFER:
21731 case DIRECTORY_NAME:
21732 case DATEFORMAT:
21733 case DELAYED_DURABILITY:
21734 case AUTHORIZATION:
21735 case TRANSFER:
21736 case PROVIDER:
21737 case SEARCH:
21738 case MEMBER:
21739 case IDENTIFIER_:
21740 case DELIMITED_IDENTIFIER_:
21741 {
21742 setState(3122);
21743 constraintName();
21744 }
21745 break;
21746 default:
21747 throw new NoViableAltException(this);
21748 }
21749 }
21750 }
21751 catch (RecognitionException re) {
21752 _localctx.exception = re;
21753 _errHandler.reportError(this, re);
21754 _errHandler.recover(this, re);
21755 }
21756 finally {
21757 exitRule();
21758 }
21759 return _localctx;
21760 }
21761
21762 public static class AlterTableTriggerContext extends ParserRuleContext {
21763 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
21764 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
21765 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
21766 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
21767 public IgnoredIdentifiersContext ignoredIdentifiers() {
21768 return getRuleContext(IgnoredIdentifiersContext.class,0);
21769 }
21770 public AlterTableTriggerContext(ParserRuleContext parent, int invokingState) {
21771 super(parent, invokingState);
21772 }
21773 @Override public int getRuleIndex() { return RULE_alterTableTrigger; }
21774 @Override
21775 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21776 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableTrigger(this);
21777 else return visitor.visitChildren(this);
21778 }
21779 }
21780
21781 public final AlterTableTriggerContext alterTableTrigger() throws RecognitionException {
21782 AlterTableTriggerContext _localctx = new AlterTableTriggerContext(_ctx, getState());
21783 enterRule(_localctx, 456, RULE_alterTableTrigger);
21784 int _la;
21785 try {
21786 enterOuterAlt(_localctx, 1);
21787 {
21788 setState(3125);
21789 _la = _input.LA(1);
21790 if ( !(_la==ENABLE || _la==DISABLE) ) {
21791 _errHandler.recoverInline(this);
21792 }
21793 else {
21794 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21795 _errHandler.reportMatch(this);
21796 consume();
21797 }
21798 setState(3126);
21799 match(TRIGGER);
21800 setState(3129);
21801 _errHandler.sync(this);
21802 switch (_input.LA(1)) {
21803 case ALL:
21804 {
21805 setState(3127);
21806 match(ALL);
21807 }
21808 break;
21809 case IDENTIFIER_:
21810 {
21811 setState(3128);
21812 ignoredIdentifiers();
21813 }
21814 break;
21815 default:
21816 throw new NoViableAltException(this);
21817 }
21818 }
21819 }
21820 catch (RecognitionException re) {
21821 _localctx.exception = re;
21822 _errHandler.reportError(this, re);
21823 _errHandler.recover(this, re);
21824 }
21825 finally {
21826 exitRule();
21827 }
21828 return _localctx;
21829 }
21830
21831 public static class AlterSwitchContext extends ParserRuleContext {
21832 public TerminalNode SWITCH() { return getToken(SQLServerStatementParser.SWITCH, 0); }
21833 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
21834 public TableNameContext tableName() {
21835 return getRuleContext(TableNameContext.class,0);
21836 }
21837 public List<TerminalNode> PARTITION() { return getTokens(SQLServerStatementParser.PARTITION); }
21838 public TerminalNode PARTITION(int i) {
21839 return getToken(SQLServerStatementParser.PARTITION, i);
21840 }
21841 public List<ExprContext> expr() {
21842 return getRuleContexts(ExprContext.class);
21843 }
21844 public ExprContext expr(int i) {
21845 return getRuleContext(ExprContext.class,i);
21846 }
21847 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
21848 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
21849 public LowPriorityLockWaitContext lowPriorityLockWait() {
21850 return getRuleContext(LowPriorityLockWaitContext.class,0);
21851 }
21852 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
21853 public AlterSwitchContext(ParserRuleContext parent, int invokingState) {
21854 super(parent, invokingState);
21855 }
21856 @Override public int getRuleIndex() { return RULE_alterSwitch; }
21857 @Override
21858 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21859 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSwitch(this);
21860 else return visitor.visitChildren(this);
21861 }
21862 }
21863
21864 public final AlterSwitchContext alterSwitch() throws RecognitionException {
21865 AlterSwitchContext _localctx = new AlterSwitchContext(_ctx, getState());
21866 enterRule(_localctx, 458, RULE_alterSwitch);
21867 int _la;
21868 try {
21869 enterOuterAlt(_localctx, 1);
21870 {
21871 setState(3131);
21872 match(SWITCH);
21873 setState(3134);
21874 _errHandler.sync(this);
21875 _la = _input.LA(1);
21876 if (_la==PARTITION) {
21877 {
21878 setState(3132);
21879 match(PARTITION);
21880 setState(3133);
21881 expr(0);
21882 }
21883 }
21884
21885 setState(3136);
21886 match(TO);
21887 setState(3137);
21888 tableName();
21889 setState(3140);
21890 _errHandler.sync(this);
21891 _la = _input.LA(1);
21892 if (_la==PARTITION) {
21893 {
21894 setState(3138);
21895 match(PARTITION);
21896 setState(3139);
21897 expr(0);
21898 }
21899 }
21900
21901 setState(3147);
21902 _errHandler.sync(this);
21903 switch ( getInterpreter().adaptivePredict(_input,285,_ctx) ) {
21904 case 1:
21905 {
21906 setState(3142);
21907 match(WITH);
21908 setState(3143);
21909 match(LP_);
21910 setState(3144);
21911 lowPriorityLockWait();
21912 setState(3145);
21913 match(RP_);
21914 }
21915 break;
21916 }
21917 }
21918 }
21919 catch (RecognitionException re) {
21920 _localctx.exception = re;
21921 _errHandler.reportError(this, re);
21922 _errHandler.recover(this, re);
21923 }
21924 finally {
21925 exitRule();
21926 }
21927 return _localctx;
21928 }
21929
21930 public static class AlterSetContext extends ParserRuleContext {
21931 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
21932 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
21933 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
21934 public SetFileStreamClauseContext setFileStreamClause() {
21935 return getRuleContext(SetFileStreamClauseContext.class,0);
21936 }
21937 public SetSystemVersionClauseContext setSystemVersionClause() {
21938 return getRuleContext(SetSystemVersionClauseContext.class,0);
21939 }
21940 public AlterSetContext(ParserRuleContext parent, int invokingState) {
21941 super(parent, invokingState);
21942 }
21943 @Override public int getRuleIndex() { return RULE_alterSet; }
21944 @Override
21945 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21946 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSet(this);
21947 else return visitor.visitChildren(this);
21948 }
21949 }
21950
21951 public final AlterSetContext alterSet() throws RecognitionException {
21952 AlterSetContext _localctx = new AlterSetContext(_ctx, getState());
21953 enterRule(_localctx, 460, RULE_alterSet);
21954 try {
21955 enterOuterAlt(_localctx, 1);
21956 {
21957 setState(3149);
21958 match(SET);
21959 setState(3150);
21960 match(LP_);
21961 setState(3153);
21962 _errHandler.sync(this);
21963 switch (_input.LA(1)) {
21964 case FILESTREAM_ON:
21965 {
21966 setState(3151);
21967 setFileStreamClause();
21968 }
21969 break;
21970 case SYSTEM_VERSIONING:
21971 {
21972 setState(3152);
21973 setSystemVersionClause();
21974 }
21975 break;
21976 default:
21977 throw new NoViableAltException(this);
21978 }
21979 setState(3155);
21980 match(RP_);
21981 }
21982 }
21983 catch (RecognitionException re) {
21984 _localctx.exception = re;
21985 _errHandler.reportError(this, re);
21986 _errHandler.recover(this, re);
21987 }
21988 finally {
21989 exitRule();
21990 }
21991 return _localctx;
21992 }
21993
21994 public static class SetFileStreamClauseContext extends ParserRuleContext {
21995 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
21996 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
21997 public SchemaNameContext schemaName() {
21998 return getRuleContext(SchemaNameContext.class,0);
21999 }
22000 public IgnoredIdentifierContext ignoredIdentifier() {
22001 return getRuleContext(IgnoredIdentifierContext.class,0);
22002 }
22003 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
22004 public SetFileStreamClauseContext(ParserRuleContext parent, int invokingState) {
22005 super(parent, invokingState);
22006 }
22007 @Override public int getRuleIndex() { return RULE_setFileStreamClause; }
22008 @Override
22009 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22010 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetFileStreamClause(this);
22011 else return visitor.visitChildren(this);
22012 }
22013 }
22014
22015 public final SetFileStreamClauseContext setFileStreamClause() throws RecognitionException {
22016 SetFileStreamClauseContext _localctx = new SetFileStreamClauseContext(_ctx, getState());
22017 enterRule(_localctx, 462, RULE_setFileStreamClause);
22018 try {
22019 enterOuterAlt(_localctx, 1);
22020 {
22021 setState(3157);
22022 match(FILESTREAM_ON);
22023 setState(3158);
22024 match(EQ_);
22025 setState(3162);
22026 _errHandler.sync(this);
22027 switch ( getInterpreter().adaptivePredict(_input,287,_ctx) ) {
22028 case 1:
22029 {
22030 setState(3159);
22031 schemaName();
22032 }
22033 break;
22034 case 2:
22035 {
22036 setState(3160);
22037 ignoredIdentifier();
22038 }
22039 break;
22040 case 3:
22041 {
22042 setState(3161);
22043 match(STRING_);
22044 }
22045 break;
22046 }
22047 }
22048 }
22049 catch (RecognitionException re) {
22050 _localctx.exception = re;
22051 _errHandler.reportError(this, re);
22052 _errHandler.recover(this, re);
22053 }
22054 finally {
22055 exitRule();
22056 }
22057 return _localctx;
22058 }
22059
22060 public static class SetSystemVersionClauseContext extends ParserRuleContext {
22061 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
22062 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22063 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
22064 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
22065 public AlterSetOnClauseContext alterSetOnClause() {
22066 return getRuleContext(AlterSetOnClauseContext.class,0);
22067 }
22068 public SetSystemVersionClauseContext(ParserRuleContext parent, int invokingState) {
22069 super(parent, invokingState);
22070 }
22071 @Override public int getRuleIndex() { return RULE_setSystemVersionClause; }
22072 @Override
22073 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22074 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetSystemVersionClause(this);
22075 else return visitor.visitChildren(this);
22076 }
22077 }
22078
22079 public final SetSystemVersionClauseContext setSystemVersionClause() throws RecognitionException {
22080 SetSystemVersionClauseContext _localctx = new SetSystemVersionClauseContext(_ctx, getState());
22081 enterRule(_localctx, 464, RULE_setSystemVersionClause);
22082 int _la;
22083 try {
22084 enterOuterAlt(_localctx, 1);
22085 {
22086 setState(3164);
22087 match(SYSTEM_VERSIONING);
22088 setState(3165);
22089 match(EQ_);
22090 setState(3171);
22091 _errHandler.sync(this);
22092 switch (_input.LA(1)) {
22093 case OFF:
22094 {
22095 setState(3166);
22096 match(OFF);
22097 }
22098 break;
22099 case ON:
22100 {
22101 setState(3167);
22102 match(ON);
22103 setState(3169);
22104 _errHandler.sync(this);
22105 _la = _input.LA(1);
22106 if (_la==LP_) {
22107 {
22108 setState(3168);
22109 alterSetOnClause();
22110 }
22111 }
22112
22113 }
22114 break;
22115 default:
22116 throw new NoViableAltException(this);
22117 }
22118 }
22119 }
22120 catch (RecognitionException re) {
22121 _localctx.exception = re;
22122 _errHandler.reportError(this, re);
22123 _errHandler.recover(this, re);
22124 }
22125 finally {
22126 exitRule();
22127 }
22128 return _localctx;
22129 }
22130
22131 public static class AlterSetOnClauseContext extends ParserRuleContext {
22132 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
22133 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
22134 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
22135 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22136 public TableNameContext tableName() {
22137 return getRuleContext(TableNameContext.class,0);
22138 }
22139 public DataConsistencyCheckClauseContext dataConsistencyCheckClause() {
22140 return getRuleContext(DataConsistencyCheckClauseContext.class,0);
22141 }
22142 public HistoryRetentionPeriodClauseContext historyRetentionPeriodClause() {
22143 return getRuleContext(HistoryRetentionPeriodClauseContext.class,0);
22144 }
22145 public AlterSetOnClauseContext(ParserRuleContext parent, int invokingState) {
22146 super(parent, invokingState);
22147 }
22148 @Override public int getRuleIndex() { return RULE_alterSetOnClause; }
22149 @Override
22150 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22151 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSetOnClause(this);
22152 else return visitor.visitChildren(this);
22153 }
22154 }
22155
22156 public final AlterSetOnClauseContext alterSetOnClause() throws RecognitionException {
22157 AlterSetOnClauseContext _localctx = new AlterSetOnClauseContext(_ctx, getState());
22158 enterRule(_localctx, 466, RULE_alterSetOnClause);
22159 int _la;
22160 try {
22161 enterOuterAlt(_localctx, 1);
22162 {
22163 setState(3173);
22164 match(LP_);
22165 setState(3177);
22166 _errHandler.sync(this);
22167 _la = _input.LA(1);
22168 if (_la==HISTORY_TABLE) {
22169 {
22170 setState(3174);
22171 match(HISTORY_TABLE);
22172 setState(3175);
22173 match(EQ_);
22174 setState(3176);
22175 tableName();
22176 }
22177 }
22178
22179 setState(3180);
22180 _errHandler.sync(this);
22181 switch ( getInterpreter().adaptivePredict(_input,291,_ctx) ) {
22182 case 1:
22183 {
22184 setState(3179);
22185 dataConsistencyCheckClause();
22186 }
22187 break;
22188 }
22189 setState(3183);
22190 _errHandler.sync(this);
22191 _la = _input.LA(1);
22192 if (_la==COMMA_ || _la==HISTORY_RETENTION_PERIOD) {
22193 {
22194 setState(3182);
22195 historyRetentionPeriodClause();
22196 }
22197 }
22198
22199 setState(3185);
22200 match(RP_);
22201 }
22202 }
22203 catch (RecognitionException re) {
22204 _localctx.exception = re;
22205 _errHandler.reportError(this, re);
22206 _errHandler.recover(this, re);
22207 }
22208 finally {
22209 exitRule();
22210 }
22211 return _localctx;
22212 }
22213
22214 public static class DataConsistencyCheckClauseContext extends ParserRuleContext {
22215 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
22216 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22217 public OnOffOptionContext onOffOption() {
22218 return getRuleContext(OnOffOptionContext.class,0);
22219 }
22220 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
22221 public DataConsistencyCheckClauseContext(ParserRuleContext parent, int invokingState) {
22222 super(parent, invokingState);
22223 }
22224 @Override public int getRuleIndex() { return RULE_dataConsistencyCheckClause; }
22225 @Override
22226 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22227 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataConsistencyCheckClause(this);
22228 else return visitor.visitChildren(this);
22229 }
22230 }
22231
22232 public final DataConsistencyCheckClauseContext dataConsistencyCheckClause() throws RecognitionException {
22233 DataConsistencyCheckClauseContext _localctx = new DataConsistencyCheckClauseContext(_ctx, getState());
22234 enterRule(_localctx, 468, RULE_dataConsistencyCheckClause);
22235 int _la;
22236 try {
22237 enterOuterAlt(_localctx, 1);
22238 {
22239 setState(3188);
22240 _errHandler.sync(this);
22241 _la = _input.LA(1);
22242 if (_la==COMMA_) {
22243 {
22244 setState(3187);
22245 match(COMMA_);
22246 }
22247 }
22248
22249 setState(3190);
22250 match(DATA_CONSISTENCY_CHECK);
22251 setState(3191);
22252 match(EQ_);
22253 setState(3192);
22254 onOffOption();
22255 }
22256 }
22257 catch (RecognitionException re) {
22258 _localctx.exception = re;
22259 _errHandler.reportError(this, re);
22260 _errHandler.recover(this, re);
22261 }
22262 finally {
22263 exitRule();
22264 }
22265 return _localctx;
22266 }
22267
22268 public static class HistoryRetentionPeriodClauseContext extends ParserRuleContext {
22269 public TerminalNode HISTORY_RETENTION_PERIOD() { return getToken(SQLServerStatementParser.HISTORY_RETENTION_PERIOD, 0); }
22270 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22271 public HistoryRetentionPeriodContext historyRetentionPeriod() {
22272 return getRuleContext(HistoryRetentionPeriodContext.class,0);
22273 }
22274 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
22275 public HistoryRetentionPeriodClauseContext(ParserRuleContext parent, int invokingState) {
22276 super(parent, invokingState);
22277 }
22278 @Override public int getRuleIndex() { return RULE_historyRetentionPeriodClause; }
22279 @Override
22280 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22281 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHistoryRetentionPeriodClause(this);
22282 else return visitor.visitChildren(this);
22283 }
22284 }
22285
22286 public final HistoryRetentionPeriodClauseContext historyRetentionPeriodClause() throws RecognitionException {
22287 HistoryRetentionPeriodClauseContext _localctx = new HistoryRetentionPeriodClauseContext(_ctx, getState());
22288 enterRule(_localctx, 470, RULE_historyRetentionPeriodClause);
22289 int _la;
22290 try {
22291 enterOuterAlt(_localctx, 1);
22292 {
22293 setState(3195);
22294 _errHandler.sync(this);
22295 _la = _input.LA(1);
22296 if (_la==COMMA_) {
22297 {
22298 setState(3194);
22299 match(COMMA_);
22300 }
22301 }
22302
22303 setState(3197);
22304 match(HISTORY_RETENTION_PERIOD);
22305 setState(3198);
22306 match(EQ_);
22307 setState(3199);
22308 historyRetentionPeriod();
22309 }
22310 }
22311 catch (RecognitionException re) {
22312 _localctx.exception = re;
22313 _errHandler.reportError(this, re);
22314 _errHandler.recover(this, re);
22315 }
22316 finally {
22317 exitRule();
22318 }
22319 return _localctx;
22320 }
22321
22322 public static class HistoryRetentionPeriodContext extends ParserRuleContext {
22323 public TerminalNode INFINITE() { return getToken(SQLServerStatementParser.INFINITE, 0); }
22324 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
22325 public TerminalNode DAY() { return getToken(SQLServerStatementParser.DAY, 0); }
22326 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
22327 public TerminalNode WEEK() { return getToken(SQLServerStatementParser.WEEK, 0); }
22328 public TerminalNode WEEKS() { return getToken(SQLServerStatementParser.WEEKS, 0); }
22329 public TerminalNode MONTH() { return getToken(SQLServerStatementParser.MONTH, 0); }
22330 public TerminalNode MONTHS() { return getToken(SQLServerStatementParser.MONTHS, 0); }
22331 public TerminalNode YEAR() { return getToken(SQLServerStatementParser.YEAR, 0); }
22332 public TerminalNode YEARS() { return getToken(SQLServerStatementParser.YEARS, 0); }
22333 public HistoryRetentionPeriodContext(ParserRuleContext parent, int invokingState) {
22334 super(parent, invokingState);
22335 }
22336 @Override public int getRuleIndex() { return RULE_historyRetentionPeriod; }
22337 @Override
22338 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22339 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHistoryRetentionPeriod(this);
22340 else return visitor.visitChildren(this);
22341 }
22342 }
22343
22344 public final HistoryRetentionPeriodContext historyRetentionPeriod() throws RecognitionException {
22345 HistoryRetentionPeriodContext _localctx = new HistoryRetentionPeriodContext(_ctx, getState());
22346 enterRule(_localctx, 472, RULE_historyRetentionPeriod);
22347 int _la;
22348 try {
22349 setState(3204);
22350 _errHandler.sync(this);
22351 switch (_input.LA(1)) {
22352 case INFINITE:
22353 enterOuterAlt(_localctx, 1);
22354 {
22355 setState(3201);
22356 match(INFINITE);
22357 }
22358 break;
22359 case NUMBER_:
22360 enterOuterAlt(_localctx, 2);
22361 {
22362 {
22363 setState(3202);
22364 match(NUMBER_);
22365 setState(3203);
22366 _la = _input.LA(1);
22367 if ( !(((((_la - 140)) & ~0x3f) == 0 && ((1L << (_la - 140)) & ((1L << (YEAR - 140)) | (1L << (MONTH - 140)) | (1L << (WEEK - 140)) | (1L << (DAY - 140)))) != 0) || ((((_la - 250)) & ~0x3f) == 0 && ((1L << (_la - 250)) & ((1L << (YEARS - 250)) | (1L << (MONTHS - 250)) | (1L << (WEEKS - 250)) | (1L << (DAYS - 250)))) != 0)) ) {
22368 _errHandler.recoverInline(this);
22369 }
22370 else {
22371 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22372 _errHandler.reportMatch(this);
22373 consume();
22374 }
22375 }
22376 }
22377 break;
22378 default:
22379 throw new NoViableAltException(this);
22380 }
22381 }
22382 catch (RecognitionException re) {
22383 _localctx.exception = re;
22384 _errHandler.reportError(this, re);
22385 _errHandler.recover(this, re);
22386 }
22387 finally {
22388 exitRule();
22389 }
22390 return _localctx;
22391 }
22392
22393 public static class AlterTableTableIndexContext extends ParserRuleContext {
22394 public IndexWithNameContext indexWithName() {
22395 return getRuleContext(IndexWithNameContext.class,0);
22396 }
22397 public IndexNonClusterClauseContext indexNonClusterClause() {
22398 return getRuleContext(IndexNonClusterClauseContext.class,0);
22399 }
22400 public IndexClusterClauseContext indexClusterClause() {
22401 return getRuleContext(IndexClusterClauseContext.class,0);
22402 }
22403 public AlterTableTableIndexContext(ParserRuleContext parent, int invokingState) {
22404 super(parent, invokingState);
22405 }
22406 @Override public int getRuleIndex() { return RULE_alterTableTableIndex; }
22407 @Override
22408 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22409 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableTableIndex(this);
22410 else return visitor.visitChildren(this);
22411 }
22412 }
22413
22414 public final AlterTableTableIndexContext alterTableTableIndex() throws RecognitionException {
22415 AlterTableTableIndexContext _localctx = new AlterTableTableIndexContext(_ctx, getState());
22416 enterRule(_localctx, 474, RULE_alterTableTableIndex);
22417 try {
22418 enterOuterAlt(_localctx, 1);
22419 {
22420 setState(3206);
22421 indexWithName();
22422 setState(3209);
22423 _errHandler.sync(this);
22424 switch (_input.LA(1)) {
22425 case NONCLUSTERED:
22426 {
22427 setState(3207);
22428 indexNonClusterClause();
22429 }
22430 break;
22431 case CLUSTERED:
22432 {
22433 setState(3208);
22434 indexClusterClause();
22435 }
22436 break;
22437 default:
22438 throw new NoViableAltException(this);
22439 }
22440 }
22441 }
22442 catch (RecognitionException re) {
22443 _localctx.exception = re;
22444 _errHandler.reportError(this, re);
22445 _errHandler.recover(this, re);
22446 }
22447 finally {
22448 exitRule();
22449 }
22450 return _localctx;
22451 }
22452
22453 public static class IndexWithNameContext extends ParserRuleContext {
22454 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
22455 public IndexNameContext indexName() {
22456 return getRuleContext(IndexNameContext.class,0);
22457 }
22458 public IndexWithNameContext(ParserRuleContext parent, int invokingState) {
22459 super(parent, invokingState);
22460 }
22461 @Override public int getRuleIndex() { return RULE_indexWithName; }
22462 @Override
22463 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22464 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexWithName(this);
22465 else return visitor.visitChildren(this);
22466 }
22467 }
22468
22469 public final IndexWithNameContext indexWithName() throws RecognitionException {
22470 IndexWithNameContext _localctx = new IndexWithNameContext(_ctx, getState());
22471 enterRule(_localctx, 476, RULE_indexWithName);
22472 try {
22473 enterOuterAlt(_localctx, 1);
22474 {
22475 setState(3211);
22476 match(INDEX);
22477 setState(3212);
22478 indexName();
22479 }
22480 }
22481 catch (RecognitionException re) {
22482 _localctx.exception = re;
22483 _errHandler.reportError(this, re);
22484 _errHandler.recover(this, re);
22485 }
22486 finally {
22487 exitRule();
22488 }
22489 return _localctx;
22490 }
22491
22492 public static class IndexNonClusterClauseContext extends ParserRuleContext {
22493 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
22494 public HashWithBucketContext hashWithBucket() {
22495 return getRuleContext(HashWithBucketContext.class,0);
22496 }
22497 public ColumnNamesWithSortContext columnNamesWithSort() {
22498 return getRuleContext(ColumnNamesWithSortContext.class,0);
22499 }
22500 public AlterTableIndexOnClauseContext alterTableIndexOnClause() {
22501 return getRuleContext(AlterTableIndexOnClauseContext.class,0);
22502 }
22503 public IndexNonClusterClauseContext(ParserRuleContext parent, int invokingState) {
22504 super(parent, invokingState);
22505 }
22506 @Override public int getRuleIndex() { return RULE_indexNonClusterClause; }
22507 @Override
22508 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22509 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexNonClusterClause(this);
22510 else return visitor.visitChildren(this);
22511 }
22512 }
22513
22514 public final IndexNonClusterClauseContext indexNonClusterClause() throws RecognitionException {
22515 IndexNonClusterClauseContext _localctx = new IndexNonClusterClauseContext(_ctx, getState());
22516 enterRule(_localctx, 478, RULE_indexNonClusterClause);
22517 int _la;
22518 try {
22519 enterOuterAlt(_localctx, 1);
22520 {
22521 setState(3214);
22522 match(NONCLUSTERED);
22523 setState(3220);
22524 _errHandler.sync(this);
22525 switch (_input.LA(1)) {
22526 case HASH:
22527 {
22528 setState(3215);
22529 hashWithBucket();
22530 }
22531 break;
22532 case LP_:
22533 {
22534 setState(3216);
22535 columnNamesWithSort();
22536 setState(3218);
22537 _errHandler.sync(this);
22538 _la = _input.LA(1);
22539 if (_la==ON || _la==DEFAULT) {
22540 {
22541 setState(3217);
22542 alterTableIndexOnClause();
22543 }
22544 }
22545
22546 }
22547 break;
22548 default:
22549 throw new NoViableAltException(this);
22550 }
22551 }
22552 }
22553 catch (RecognitionException re) {
22554 _localctx.exception = re;
22555 _errHandler.reportError(this, re);
22556 _errHandler.recover(this, re);
22557 }
22558 finally {
22559 exitRule();
22560 }
22561 return _localctx;
22562 }
22563
22564 public static class AlterTableIndexOnClauseContext extends ParserRuleContext {
22565 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
22566 public IgnoredIdentifierContext ignoredIdentifier() {
22567 return getRuleContext(IgnoredIdentifierContext.class,0);
22568 }
22569 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
22570 public AlterTableIndexOnClauseContext(ParserRuleContext parent, int invokingState) {
22571 super(parent, invokingState);
22572 }
22573 @Override public int getRuleIndex() { return RULE_alterTableIndexOnClause; }
22574 @Override
22575 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22576 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableIndexOnClause(this);
22577 else return visitor.visitChildren(this);
22578 }
22579 }
22580
22581 public final AlterTableIndexOnClauseContext alterTableIndexOnClause() throws RecognitionException {
22582 AlterTableIndexOnClauseContext _localctx = new AlterTableIndexOnClauseContext(_ctx, getState());
22583 enterRule(_localctx, 480, RULE_alterTableIndexOnClause);
22584 try {
22585 setState(3225);
22586 _errHandler.sync(this);
22587 switch (_input.LA(1)) {
22588 case ON:
22589 enterOuterAlt(_localctx, 1);
22590 {
22591 setState(3222);
22592 match(ON);
22593 setState(3223);
22594 ignoredIdentifier();
22595 }
22596 break;
22597 case DEFAULT:
22598 enterOuterAlt(_localctx, 2);
22599 {
22600 setState(3224);
22601 match(DEFAULT);
22602 }
22603 break;
22604 default:
22605 throw new NoViableAltException(this);
22606 }
22607 }
22608 catch (RecognitionException re) {
22609 _localctx.exception = re;
22610 _errHandler.reportError(this, re);
22611 _errHandler.recover(this, re);
22612 }
22613 finally {
22614 exitRule();
22615 }
22616 return _localctx;
22617 }
22618
22619 public static class IndexClusterClauseContext extends ParserRuleContext {
22620 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
22621 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
22622 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
22623 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
22624 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22625 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
22626 public IndexOnClauseContext indexOnClause() {
22627 return getRuleContext(IndexOnClauseContext.class,0);
22628 }
22629 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
22630 public IndexClusterClauseContext(ParserRuleContext parent, int invokingState) {
22631 super(parent, invokingState);
22632 }
22633 @Override public int getRuleIndex() { return RULE_indexClusterClause; }
22634 @Override
22635 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22636 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexClusterClause(this);
22637 else return visitor.visitChildren(this);
22638 }
22639 }
22640
22641 public final IndexClusterClauseContext indexClusterClause() throws RecognitionException {
22642 IndexClusterClauseContext _localctx = new IndexClusterClauseContext(_ctx, getState());
22643 enterRule(_localctx, 482, RULE_indexClusterClause);
22644 int _la;
22645 try {
22646 enterOuterAlt(_localctx, 1);
22647 {
22648 setState(3227);
22649 match(CLUSTERED);
22650 setState(3228);
22651 match(COLUMNSTORE);
22652 setState(3236);
22653 _errHandler.sync(this);
22654 switch ( getInterpreter().adaptivePredict(_input,301,_ctx) ) {
22655 case 1:
22656 {
22657 setState(3229);
22658 match(WITH);
22659 setState(3230);
22660 match(COMPRESSION_DELAY);
22661 setState(3231);
22662 match(EQ_);
22663 setState(3232);
22664 match(NUMBER_);
22665 setState(3234);
22666 _errHandler.sync(this);
22667 _la = _input.LA(1);
22668 if (_la==MINUTES) {
22669 {
22670 setState(3233);
22671 match(MINUTES);
22672 }
22673 }
22674
22675 }
22676 break;
22677 }
22678 setState(3239);
22679 _errHandler.sync(this);
22680 _la = _input.LA(1);
22681 if (_la==ON) {
22682 {
22683 setState(3238);
22684 indexOnClause();
22685 }
22686 }
22687
22688 }
22689 }
22690 catch (RecognitionException re) {
22691 _localctx.exception = re;
22692 _errHandler.reportError(this, re);
22693 _errHandler.recover(this, re);
22694 }
22695 finally {
22696 exitRule();
22697 }
22698 return _localctx;
22699 }
22700
22701 public static class AlterTableOptionContext extends ParserRuleContext {
22702 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
22703 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
22704 public TerminalNode LOCK_ESCALATION() { return getToken(SQLServerStatementParser.LOCK_ESCALATION, 0); }
22705 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22706 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
22707 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
22708 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
22709 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
22710 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
22711 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
22712 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
22713 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
22714 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
22715 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
22716 public OnHistoryTableClauseContext onHistoryTableClause() {
22717 return getRuleContext(OnHistoryTableClauseContext.class,0);
22718 }
22719 public AlterTableOptionContext(ParserRuleContext parent, int invokingState) {
22720 super(parent, invokingState);
22721 }
22722 @Override public int getRuleIndex() { return RULE_alterTableOption; }
22723 @Override
22724 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22725 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableOption(this);
22726 else return visitor.visitChildren(this);
22727 }
22728 }
22729
22730 public final AlterTableOptionContext alterTableOption() throws RecognitionException {
22731 AlterTableOptionContext _localctx = new AlterTableOptionContext(_ctx, getState());
22732 enterRule(_localctx, 484, RULE_alterTableOption);
22733 int _la;
22734 try {
22735 setState(3259);
22736 _errHandler.sync(this);
22737 switch (_input.LA(1)) {
22738 case SET:
22739 enterOuterAlt(_localctx, 1);
22740 {
22741 setState(3241);
22742 match(SET);
22743 setState(3242);
22744 match(LP_);
22745 setState(3243);
22746 match(LOCK_ESCALATION);
22747 setState(3244);
22748 match(EQ_);
22749 setState(3245);
22750 _la = _input.LA(1);
22751 if ( !(_la==TABLE || _la==DISABLE || _la==AUTO) ) {
22752 _errHandler.recoverInline(this);
22753 }
22754 else {
22755 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22756 _errHandler.reportMatch(this);
22757 consume();
22758 }
22759 setState(3246);
22760 match(RP_);
22761 }
22762 break;
22763 case MEMORY_OPTIMIZED:
22764 enterOuterAlt(_localctx, 2);
22765 {
22766 setState(3247);
22767 match(MEMORY_OPTIMIZED);
22768 setState(3248);
22769 match(EQ_);
22770 setState(3249);
22771 match(ON);
22772 }
22773 break;
22774 case DURABILITY:
22775 enterOuterAlt(_localctx, 3);
22776 {
22777 setState(3250);
22778 match(DURABILITY);
22779 setState(3251);
22780 match(EQ_);
22781 setState(3252);
22782 _la = _input.LA(1);
22783 if ( !(_la==SCHEMA_AND_DATA || _la==SCHEMA_ONLY) ) {
22784 _errHandler.recoverInline(this);
22785 }
22786 else {
22787 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22788 _errHandler.reportMatch(this);
22789 consume();
22790 }
22791 }
22792 break;
22793 case SYSTEM_VERSIONING:
22794 enterOuterAlt(_localctx, 4);
22795 {
22796 setState(3253);
22797 match(SYSTEM_VERSIONING);
22798 setState(3254);
22799 match(EQ_);
22800 setState(3255);
22801 match(ON);
22802 setState(3257);
22803 _errHandler.sync(this);
22804 _la = _input.LA(1);
22805 if (_la==LP_) {
22806 {
22807 setState(3256);
22808 onHistoryTableClause();
22809 }
22810 }
22811
22812 }
22813 break;
22814 default:
22815 throw new NoViableAltException(this);
22816 }
22817 }
22818 catch (RecognitionException re) {
22819 _localctx.exception = re;
22820 _errHandler.reportError(this, re);
22821 _errHandler.recover(this, re);
22822 }
22823 finally {
22824 exitRule();
22825 }
22826 return _localctx;
22827 }
22828
22829 public static class OnHistoryTableClauseContext extends ParserRuleContext {
22830 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
22831 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
22832 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
22833 public TerminalNode EQ_(int i) {
22834 return getToken(SQLServerStatementParser.EQ_, i);
22835 }
22836 public TableNameContext tableName() {
22837 return getRuleContext(TableNameContext.class,0);
22838 }
22839 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
22840 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
22841 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
22842 public OnOffOptionContext onOffOption() {
22843 return getRuleContext(OnOffOptionContext.class,0);
22844 }
22845 public OnHistoryTableClauseContext(ParserRuleContext parent, int invokingState) {
22846 super(parent, invokingState);
22847 }
22848 @Override public int getRuleIndex() { return RULE_onHistoryTableClause; }
22849 @Override
22850 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22851 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnHistoryTableClause(this);
22852 else return visitor.visitChildren(this);
22853 }
22854 }
22855
22856 public final OnHistoryTableClauseContext onHistoryTableClause() throws RecognitionException {
22857 OnHistoryTableClauseContext _localctx = new OnHistoryTableClauseContext(_ctx, getState());
22858 enterRule(_localctx, 486, RULE_onHistoryTableClause);
22859 int _la;
22860 try {
22861 enterOuterAlt(_localctx, 1);
22862 {
22863 setState(3261);
22864 match(LP_);
22865 setState(3262);
22866 match(HISTORY_TABLE);
22867 setState(3263);
22868 match(EQ_);
22869 setState(3264);
22870 tableName();
22871 setState(3269);
22872 _errHandler.sync(this);
22873 _la = _input.LA(1);
22874 if (_la==COMMA_) {
22875 {
22876 setState(3265);
22877 match(COMMA_);
22878 setState(3266);
22879 match(DATA_CONSISTENCY_CHECK);
22880 setState(3267);
22881 match(EQ_);
22882 setState(3268);
22883 onOffOption();
22884 }
22885 }
22886
22887 setState(3271);
22888 match(RP_);
22889 }
22890 }
22891 catch (RecognitionException re) {
22892 _localctx.exception = re;
22893 _errHandler.reportError(this, re);
22894 _errHandler.recover(this, re);
22895 }
22896 finally {
22897 exitRule();
22898 }
22899 return _localctx;
22900 }
22901
22902 public static class CreateDatabaseClauseContext extends ParserRuleContext {
22903 public TerminalNode CONTAINMENT() { return getToken(SQLServerStatementParser.CONTAINMENT, 0); }
22904 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22905 public FileDefinitionClauseContext fileDefinitionClause() {
22906 return getRuleContext(FileDefinitionClauseContext.class,0);
22907 }
22908 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
22909 public IgnoredIdentifierContext ignoredIdentifier() {
22910 return getRuleContext(IgnoredIdentifierContext.class,0);
22911 }
22912 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
22913 public List<DatabaseOptionContext> databaseOption() {
22914 return getRuleContexts(DatabaseOptionContext.class);
22915 }
22916 public DatabaseOptionContext databaseOption(int i) {
22917 return getRuleContext(DatabaseOptionContext.class,i);
22918 }
22919 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
22920 public TerminalNode PARTIAL() { return getToken(SQLServerStatementParser.PARTIAL, 0); }
22921 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
22922 public TerminalNode COMMA_(int i) {
22923 return getToken(SQLServerStatementParser.COMMA_, i);
22924 }
22925 public CreateDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
22926 super(parent, invokingState);
22927 }
22928 @Override public int getRuleIndex() { return RULE_createDatabaseClause; }
22929 @Override
22930 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22931 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDatabaseClause(this);
22932 else return visitor.visitChildren(this);
22933 }
22934 }
22935
22936 public final CreateDatabaseClauseContext createDatabaseClause() throws RecognitionException {
22937 CreateDatabaseClauseContext _localctx = new CreateDatabaseClauseContext(_ctx, getState());
22938 enterRule(_localctx, 488, RULE_createDatabaseClause);
22939 int _la;
22940 try {
22941 enterOuterAlt(_localctx, 1);
22942 {
22943 setState(3276);
22944 _errHandler.sync(this);
22945 _la = _input.LA(1);
22946 if (_la==CONTAINMENT) {
22947 {
22948 setState(3273);
22949 match(CONTAINMENT);
22950 setState(3274);
22951 match(EQ_);
22952 setState(3275);
22953 _la = _input.LA(1);
22954 if ( !(_la==NONE || _la==PARTIAL) ) {
22955 _errHandler.recoverInline(this);
22956 }
22957 else {
22958 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22959 _errHandler.reportMatch(this);
22960 consume();
22961 }
22962 }
22963 }
22964
22965 setState(3279);
22966 _errHandler.sync(this);
22967 _la = _input.LA(1);
22968 if (_la==ON) {
22969 {
22970 setState(3278);
22971 fileDefinitionClause();
22972 }
22973 }
22974
22975 setState(3283);
22976 _errHandler.sync(this);
22977 _la = _input.LA(1);
22978 if (_la==COLLATE) {
22979 {
22980 setState(3281);
22981 match(COLLATE);
22982 setState(3282);
22983 ignoredIdentifier();
22984 }
22985 }
22986
22987 setState(3294);
22988 _errHandler.sync(this);
22989 _la = _input.LA(1);
22990 if (_la==WITH) {
22991 {
22992 setState(3285);
22993 match(WITH);
22994 setState(3286);
22995 databaseOption();
22996 setState(3291);
22997 _errHandler.sync(this);
22998 _la = _input.LA(1);
22999 while (_la==COMMA_) {
23000 {
23001 {
23002 setState(3287);
23003 match(COMMA_);
23004 setState(3288);
23005 databaseOption();
23006 }
23007 }
23008 setState(3293);
23009 _errHandler.sync(this);
23010 _la = _input.LA(1);
23011 }
23012 }
23013 }
23014
23015 }
23016 }
23017 catch (RecognitionException re) {
23018 _localctx.exception = re;
23019 _errHandler.reportError(this, re);
23020 _errHandler.recover(this, re);
23021 }
23022 finally {
23023 exitRule();
23024 }
23025 return _localctx;
23026 }
23027
23028 public static class FileDefinitionClauseContext extends ParserRuleContext {
23029 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
23030 public List<FileSpecContext> fileSpec() {
23031 return getRuleContexts(FileSpecContext.class);
23032 }
23033 public FileSpecContext fileSpec(int i) {
23034 return getRuleContext(FileSpecContext.class,i);
23035 }
23036 public DatabaseLogOnsContext databaseLogOns() {
23037 return getRuleContext(DatabaseLogOnsContext.class,0);
23038 }
23039 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
23040 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
23041 public TerminalNode COMMA_(int i) {
23042 return getToken(SQLServerStatementParser.COMMA_, i);
23043 }
23044 public List<DatabaseFileGroupContext> databaseFileGroup() {
23045 return getRuleContexts(DatabaseFileGroupContext.class);
23046 }
23047 public DatabaseFileGroupContext databaseFileGroup(int i) {
23048 return getRuleContext(DatabaseFileGroupContext.class,i);
23049 }
23050 public FileDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
23051 super(parent, invokingState);
23052 }
23053 @Override public int getRuleIndex() { return RULE_fileDefinitionClause; }
23054 @Override
23055 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23056 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileDefinitionClause(this);
23057 else return visitor.visitChildren(this);
23058 }
23059 }
23060
23061 public final FileDefinitionClauseContext fileDefinitionClause() throws RecognitionException {
23062 FileDefinitionClauseContext _localctx = new FileDefinitionClauseContext(_ctx, getState());
23063 enterRule(_localctx, 490, RULE_fileDefinitionClause);
23064 int _la;
23065 try {
23066 int _alt;
23067 enterOuterAlt(_localctx, 1);
23068 {
23069 setState(3296);
23070 match(ON);
23071 setState(3298);
23072 _errHandler.sync(this);
23073 _la = _input.LA(1);
23074 if (_la==PRIMARY) {
23075 {
23076 setState(3297);
23077 match(PRIMARY);
23078 }
23079 }
23080
23081 setState(3300);
23082 fileSpec();
23083 setState(3305);
23084 _errHandler.sync(this);
23085 _alt = getInterpreter().adaptivePredict(_input,312,_ctx);
23086 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
23087 if ( _alt==1 ) {
23088 {
23089 {
23090 setState(3301);
23091 match(COMMA_);
23092 setState(3302);
23093 fileSpec();
23094 }
23095 }
23096 }
23097 setState(3307);
23098 _errHandler.sync(this);
23099 _alt = getInterpreter().adaptivePredict(_input,312,_ctx);
23100 }
23101 setState(3312);
23102 _errHandler.sync(this);
23103 _la = _input.LA(1);
23104 while (_la==COMMA_) {
23105 {
23106 {
23107 setState(3308);
23108 match(COMMA_);
23109 setState(3309);
23110 databaseFileGroup();
23111 }
23112 }
23113 setState(3314);
23114 _errHandler.sync(this);
23115 _la = _input.LA(1);
23116 }
23117 setState(3315);
23118 databaseLogOns();
23119 }
23120 }
23121 catch (RecognitionException re) {
23122 _localctx.exception = re;
23123 _errHandler.reportError(this, re);
23124 _errHandler.recover(this, re);
23125 }
23126 finally {
23127 exitRule();
23128 }
23129 return _localctx;
23130 }
23131
23132 public static class DatabaseOptionContext extends ParserRuleContext {
23133 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
23134 public List<FileStreamOptionContext> fileStreamOption() {
23135 return getRuleContexts(FileStreamOptionContext.class);
23136 }
23137 public FileStreamOptionContext fileStreamOption(int i) {
23138 return getRuleContext(FileStreamOptionContext.class,i);
23139 }
23140 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
23141 public TerminalNode COMMA_(int i) {
23142 return getToken(SQLServerStatementParser.COMMA_, i);
23143 }
23144 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
23145 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
23146 public TerminalNode EQ_(int i) {
23147 return getToken(SQLServerStatementParser.EQ_, i);
23148 }
23149 public IgnoredIdentifierContext ignoredIdentifier() {
23150 return getRuleContext(IgnoredIdentifierContext.class,0);
23151 }
23152 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
23153 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
23154 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
23155 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
23156 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
23157 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
23158 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
23159 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
23160 public TerminalNode PERSISTENT_LOG_BUFFER() { return getToken(SQLServerStatementParser.PERSISTENT_LOG_BUFFER, 0); }
23161 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
23162 public DatabaseOptionContext(ParserRuleContext parent, int invokingState) {
23163 super(parent, invokingState);
23164 }
23165 @Override public int getRuleIndex() { return RULE_databaseOption; }
23166 @Override
23167 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23168 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseOption(this);
23169 else return visitor.visitChildren(this);
23170 }
23171 }
23172
23173 public final DatabaseOptionContext databaseOption() throws RecognitionException {
23174 DatabaseOptionContext _localctx = new DatabaseOptionContext(_ctx, getState());
23175 enterRule(_localctx, 492, RULE_databaseOption);
23176 int _la;
23177 try {
23178 int _alt;
23179 setState(3351);
23180 _errHandler.sync(this);
23181 switch (_input.LA(1)) {
23182 case FILESTREAM:
23183 enterOuterAlt(_localctx, 1);
23184 {
23185 setState(3317);
23186 match(FILESTREAM);
23187 setState(3318);
23188 fileStreamOption();
23189 setState(3323);
23190 _errHandler.sync(this);
23191 _alt = getInterpreter().adaptivePredict(_input,314,_ctx);
23192 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
23193 if ( _alt==1 ) {
23194 {
23195 {
23196 setState(3319);
23197 match(COMMA_);
23198 setState(3320);
23199 fileStreamOption();
23200 }
23201 }
23202 }
23203 setState(3325);
23204 _errHandler.sync(this);
23205 _alt = getInterpreter().adaptivePredict(_input,314,_ctx);
23206 }
23207 }
23208 break;
23209 case DEFAULT_FULLTEXT_LANGUAGE:
23210 enterOuterAlt(_localctx, 2);
23211 {
23212 setState(3326);
23213 match(DEFAULT_FULLTEXT_LANGUAGE);
23214 setState(3327);
23215 match(EQ_);
23216 setState(3328);
23217 ignoredIdentifier();
23218 }
23219 break;
23220 case DEFAULT_LANGUAGE:
23221 enterOuterAlt(_localctx, 3);
23222 {
23223 setState(3329);
23224 match(DEFAULT_LANGUAGE);
23225 setState(3330);
23226 match(EQ_);
23227 setState(3331);
23228 ignoredIdentifier();
23229 }
23230 break;
23231 case NESTED_TRIGGERS:
23232 enterOuterAlt(_localctx, 4);
23233 {
23234 setState(3332);
23235 match(NESTED_TRIGGERS);
23236 setState(3333);
23237 match(EQ_);
23238 setState(3334);
23239 _la = _input.LA(1);
23240 if ( !(_la==ON || _la==OFF) ) {
23241 _errHandler.recoverInline(this);
23242 }
23243 else {
23244 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23245 _errHandler.reportMatch(this);
23246 consume();
23247 }
23248 }
23249 break;
23250 case TRANSFORM_NOISE_WORDS:
23251 enterOuterAlt(_localctx, 5);
23252 {
23253 setState(3335);
23254 match(TRANSFORM_NOISE_WORDS);
23255 setState(3336);
23256 match(EQ_);
23257 setState(3337);
23258 _la = _input.LA(1);
23259 if ( !(_la==ON || _la==OFF) ) {
23260 _errHandler.recoverInline(this);
23261 }
23262 else {
23263 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23264 _errHandler.reportMatch(this);
23265 consume();
23266 }
23267 }
23268 break;
23269 case TWO_DIGIT_YEAR_CUTOFF:
23270 enterOuterAlt(_localctx, 6);
23271 {
23272 setState(3338);
23273 match(TWO_DIGIT_YEAR_CUTOFF);
23274 setState(3339);
23275 match(EQ_);
23276 setState(3340);
23277 ignoredIdentifier();
23278 }
23279 break;
23280 case DB_CHAINING:
23281 enterOuterAlt(_localctx, 7);
23282 {
23283 setState(3341);
23284 match(DB_CHAINING);
23285 setState(3342);
23286 _la = _input.LA(1);
23287 if ( !(_la==ON || _la==OFF) ) {
23288 _errHandler.recoverInline(this);
23289 }
23290 else {
23291 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23292 _errHandler.reportMatch(this);
23293 consume();
23294 }
23295 }
23296 break;
23297 case TRUSTWORTHY:
23298 enterOuterAlt(_localctx, 8);
23299 {
23300 setState(3343);
23301 match(TRUSTWORTHY);
23302 setState(3344);
23303 _la = _input.LA(1);
23304 if ( !(_la==ON || _la==OFF) ) {
23305 _errHandler.recoverInline(this);
23306 }
23307 else {
23308 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23309 _errHandler.reportMatch(this);
23310 consume();
23311 }
23312 }
23313 break;
23314 case PERSISTENT_LOG_BUFFER:
23315 enterOuterAlt(_localctx, 9);
23316 {
23317 setState(3345);
23318 match(PERSISTENT_LOG_BUFFER);
23319 setState(3346);
23320 match(EQ_);
23321 setState(3347);
23322 match(ON);
23323 {
23324 setState(3348);
23325 match(DIRECTORY_NAME);
23326 setState(3349);
23327 match(EQ_);
23328 setState(3350);
23329 ignoredIdentifier();
23330 }
23331 }
23332 break;
23333 default:
23334 throw new NoViableAltException(this);
23335 }
23336 }
23337 catch (RecognitionException re) {
23338 _localctx.exception = re;
23339 _errHandler.reportError(this, re);
23340 _errHandler.recover(this, re);
23341 }
23342 finally {
23343 exitRule();
23344 }
23345 return _localctx;
23346 }
23347
23348 public static class FileStreamOptionContext extends ParserRuleContext {
23349 public TerminalNode NON_TRANSACTED_ACCESS() { return getToken(SQLServerStatementParser.NON_TRANSACTED_ACCESS, 0); }
23350 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23351 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
23352 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
23353 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
23354 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
23355 public IgnoredIdentifierContext ignoredIdentifier() {
23356 return getRuleContext(IgnoredIdentifierContext.class,0);
23357 }
23358 public FileStreamOptionContext(ParserRuleContext parent, int invokingState) {
23359 super(parent, invokingState);
23360 }
23361 @Override public int getRuleIndex() { return RULE_fileStreamOption; }
23362 @Override
23363 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23364 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileStreamOption(this);
23365 else return visitor.visitChildren(this);
23366 }
23367 }
23368
23369 public final FileStreamOptionContext fileStreamOption() throws RecognitionException {
23370 FileStreamOptionContext _localctx = new FileStreamOptionContext(_ctx, getState());
23371 enterRule(_localctx, 494, RULE_fileStreamOption);
23372 int _la;
23373 try {
23374 setState(3359);
23375 _errHandler.sync(this);
23376 switch (_input.LA(1)) {
23377 case NON_TRANSACTED_ACCESS:
23378 enterOuterAlt(_localctx, 1);
23379 {
23380 setState(3353);
23381 match(NON_TRANSACTED_ACCESS);
23382 setState(3354);
23383 match(EQ_);
23384 setState(3355);
23385 _la = _input.LA(1);
23386 if ( !(_la==FULL || _la==OFF || _la==READ_ONLY) ) {
23387 _errHandler.recoverInline(this);
23388 }
23389 else {
23390 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23391 _errHandler.reportMatch(this);
23392 consume();
23393 }
23394 }
23395 break;
23396 case DIRECTORY_NAME:
23397 enterOuterAlt(_localctx, 2);
23398 {
23399 setState(3356);
23400 match(DIRECTORY_NAME);
23401 setState(3357);
23402 match(EQ_);
23403 setState(3358);
23404 ignoredIdentifier();
23405 }
23406 break;
23407 default:
23408 throw new NoViableAltException(this);
23409 }
23410 }
23411 catch (RecognitionException re) {
23412 _localctx.exception = re;
23413 _errHandler.reportError(this, re);
23414 _errHandler.recover(this, re);
23415 }
23416 finally {
23417 exitRule();
23418 }
23419 return _localctx;
23420 }
23421
23422 public static class FileSpecContext extends ParserRuleContext {
23423 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
23424 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
23425 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
23426 public TerminalNode EQ_(int i) {
23427 return getToken(SQLServerStatementParser.EQ_, i);
23428 }
23429 public IgnoredIdentifierContext ignoredIdentifier() {
23430 return getRuleContext(IgnoredIdentifierContext.class,0);
23431 }
23432 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
23433 public TerminalNode FILENAME() { return getToken(SQLServerStatementParser.FILENAME, 0); }
23434 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
23435 public DatabaseFileSpecOptionContext databaseFileSpecOption() {
23436 return getRuleContext(DatabaseFileSpecOptionContext.class,0);
23437 }
23438 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
23439 public FileSpecContext(ParserRuleContext parent, int invokingState) {
23440 super(parent, invokingState);
23441 }
23442 @Override public int getRuleIndex() { return RULE_fileSpec; }
23443 @Override
23444 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23445 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileSpec(this);
23446 else return visitor.visitChildren(this);
23447 }
23448 }
23449
23450 public final FileSpecContext fileSpec() throws RecognitionException {
23451 FileSpecContext _localctx = new FileSpecContext(_ctx, getState());
23452 enterRule(_localctx, 496, RULE_fileSpec);
23453 try {
23454 enterOuterAlt(_localctx, 1);
23455 {
23456 setState(3361);
23457 match(LP_);
23458 setState(3362);
23459 match(NAME);
23460 setState(3363);
23461 match(EQ_);
23462 setState(3364);
23463 ignoredIdentifier();
23464 setState(3365);
23465 match(COMMA_);
23466 setState(3366);
23467 match(FILENAME);
23468 setState(3367);
23469 match(EQ_);
23470 setState(3368);
23471 match(STRING_);
23472 setState(3369);
23473 databaseFileSpecOption();
23474 setState(3370);
23475 match(RP_);
23476 }
23477 }
23478 catch (RecognitionException re) {
23479 _localctx.exception = re;
23480 _errHandler.reportError(this, re);
23481 _errHandler.recover(this, re);
23482 }
23483 finally {
23484 exitRule();
23485 }
23486 return _localctx;
23487 }
23488
23489 public static class DatabaseFileSpecOptionContext extends ParserRuleContext {
23490 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
23491 public TerminalNode COMMA_(int i) {
23492 return getToken(SQLServerStatementParser.COMMA_, i);
23493 }
23494 public TerminalNode SIZE() { return getToken(SQLServerStatementParser.SIZE, 0); }
23495 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
23496 public TerminalNode EQ_(int i) {
23497 return getToken(SQLServerStatementParser.EQ_, i);
23498 }
23499 public List<NumberLiteralsContext> numberLiterals() {
23500 return getRuleContexts(NumberLiteralsContext.class);
23501 }
23502 public NumberLiteralsContext numberLiterals(int i) {
23503 return getRuleContext(NumberLiteralsContext.class,i);
23504 }
23505 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
23506 public TerminalNode FILEGROWTH() { return getToken(SQLServerStatementParser.FILEGROWTH, 0); }
23507 public TerminalNode UNLIMITED() { return getToken(SQLServerStatementParser.UNLIMITED, 0); }
23508 public List<TerminalNode> KB() { return getTokens(SQLServerStatementParser.KB); }
23509 public TerminalNode KB(int i) {
23510 return getToken(SQLServerStatementParser.KB, i);
23511 }
23512 public List<TerminalNode> MB() { return getTokens(SQLServerStatementParser.MB); }
23513 public TerminalNode MB(int i) {
23514 return getToken(SQLServerStatementParser.MB, i);
23515 }
23516 public List<TerminalNode> GB() { return getTokens(SQLServerStatementParser.GB); }
23517 public TerminalNode GB(int i) {
23518 return getToken(SQLServerStatementParser.GB, i);
23519 }
23520 public List<TerminalNode> TB() { return getTokens(SQLServerStatementParser.TB); }
23521 public TerminalNode TB(int i) {
23522 return getToken(SQLServerStatementParser.TB, i);
23523 }
23524 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
23525 public DatabaseFileSpecOptionContext(ParserRuleContext parent, int invokingState) {
23526 super(parent, invokingState);
23527 }
23528 @Override public int getRuleIndex() { return RULE_databaseFileSpecOption; }
23529 @Override
23530 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23531 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileSpecOption(this);
23532 else return visitor.visitChildren(this);
23533 }
23534 }
23535
23536 public final DatabaseFileSpecOptionContext databaseFileSpecOption() throws RecognitionException {
23537 DatabaseFileSpecOptionContext _localctx = new DatabaseFileSpecOptionContext(_ctx, getState());
23538 enterRule(_localctx, 498, RULE_databaseFileSpecOption);
23539 int _la;
23540 try {
23541 enterOuterAlt(_localctx, 1);
23542 {
23543 setState(3379);
23544 _errHandler.sync(this);
23545 switch ( getInterpreter().adaptivePredict(_input,318,_ctx) ) {
23546 case 1:
23547 {
23548 setState(3372);
23549 match(COMMA_);
23550 setState(3373);
23551 match(SIZE);
23552 setState(3374);
23553 match(EQ_);
23554 setState(3375);
23555 numberLiterals();
23556 setState(3377);
23557 _errHandler.sync(this);
23558 _la = _input.LA(1);
23559 if (((((_la - 485)) & ~0x3f) == 0 && ((1L << (_la - 485)) & ((1L << (KB - 485)) | (1L << (MB - 485)) | (1L << (GB - 485)) | (1L << (TB - 485)))) != 0)) {
23560 {
23561 setState(3376);
23562 _la = _input.LA(1);
23563 if ( !(((((_la - 485)) & ~0x3f) == 0 && ((1L << (_la - 485)) & ((1L << (KB - 485)) | (1L << (MB - 485)) | (1L << (GB - 485)) | (1L << (TB - 485)))) != 0)) ) {
23564 _errHandler.recoverInline(this);
23565 }
23566 else {
23567 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23568 _errHandler.reportMatch(this);
23569 consume();
23570 }
23571 }
23572 }
23573
23574 }
23575 break;
23576 }
23577 setState(3391);
23578 _errHandler.sync(this);
23579 switch ( getInterpreter().adaptivePredict(_input,321,_ctx) ) {
23580 case 1:
23581 {
23582 setState(3381);
23583 match(COMMA_);
23584 setState(3382);
23585 match(MAXSIZE);
23586 setState(3383);
23587 match(EQ_);
23588 setState(3389);
23589 _errHandler.sync(this);
23590 switch (_input.LA(1)) {
23591 case PLUS_:
23592 case MINUS_:
23593 case NUMBER_:
23594 {
23595 setState(3384);
23596 numberLiterals();
23597 setState(3386);
23598 _errHandler.sync(this);
23599 _la = _input.LA(1);
23600 if (((((_la - 485)) & ~0x3f) == 0 && ((1L << (_la - 485)) & ((1L << (KB - 485)) | (1L << (MB - 485)) | (1L << (GB - 485)) | (1L << (TB - 485)))) != 0)) {
23601 {
23602 setState(3385);
23603 _la = _input.LA(1);
23604 if ( !(((((_la - 485)) & ~0x3f) == 0 && ((1L << (_la - 485)) & ((1L << (KB - 485)) | (1L << (MB - 485)) | (1L << (GB - 485)) | (1L << (TB - 485)))) != 0)) ) {
23605 _errHandler.recoverInline(this);
23606 }
23607 else {
23608 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23609 _errHandler.reportMatch(this);
23610 consume();
23611 }
23612 }
23613 }
23614
23615 }
23616 break;
23617 case UNLIMITED:
23618 {
23619 setState(3388);
23620 match(UNLIMITED);
23621 }
23622 break;
23623 default:
23624 throw new NoViableAltException(this);
23625 }
23626 }
23627 break;
23628 }
23629 setState(3400);
23630 _errHandler.sync(this);
23631 _la = _input.LA(1);
23632 if (_la==COMMA_) {
23633 {
23634 setState(3393);
23635 match(COMMA_);
23636 setState(3394);
23637 match(FILEGROWTH);
23638 setState(3395);
23639 match(EQ_);
23640 setState(3396);
23641 numberLiterals();
23642 setState(3398);
23643 _errHandler.sync(this);
23644 _la = _input.LA(1);
23645 if (_la==MOD_ || ((((_la - 485)) & ~0x3f) == 0 && ((1L << (_la - 485)) & ((1L << (KB - 485)) | (1L << (MB - 485)) | (1L << (GB - 485)) | (1L << (TB - 485)))) != 0)) {
23646 {
23647 setState(3397);
23648 _la = _input.LA(1);
23649 if ( !(_la==MOD_ || ((((_la - 485)) & ~0x3f) == 0 && ((1L << (_la - 485)) & ((1L << (KB - 485)) | (1L << (MB - 485)) | (1L << (GB - 485)) | (1L << (TB - 485)))) != 0)) ) {
23650 _errHandler.recoverInline(this);
23651 }
23652 else {
23653 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23654 _errHandler.reportMatch(this);
23655 consume();
23656 }
23657 }
23658 }
23659
23660 }
23661 }
23662
23663 }
23664 }
23665 catch (RecognitionException re) {
23666 _localctx.exception = re;
23667 _errHandler.reportError(this, re);
23668 _errHandler.recover(this, re);
23669 }
23670 finally {
23671 exitRule();
23672 }
23673 return _localctx;
23674 }
23675
23676 public static class DatabaseFileGroupContext extends ParserRuleContext {
23677 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
23678 public IgnoredIdentifierContext ignoredIdentifier() {
23679 return getRuleContext(IgnoredIdentifierContext.class,0);
23680 }
23681 public List<FileSpecContext> fileSpec() {
23682 return getRuleContexts(FileSpecContext.class);
23683 }
23684 public FileSpecContext fileSpec(int i) {
23685 return getRuleContext(FileSpecContext.class,i);
23686 }
23687 public DatabaseFileGroupContainsContext databaseFileGroupContains() {
23688 return getRuleContext(DatabaseFileGroupContainsContext.class,0);
23689 }
23690 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
23691 public TerminalNode COMMA_(int i) {
23692 return getToken(SQLServerStatementParser.COMMA_, i);
23693 }
23694 public DatabaseFileGroupContext(ParserRuleContext parent, int invokingState) {
23695 super(parent, invokingState);
23696 }
23697 @Override public int getRuleIndex() { return RULE_databaseFileGroup; }
23698 @Override
23699 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23700 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileGroup(this);
23701 else return visitor.visitChildren(this);
23702 }
23703 }
23704
23705 public final DatabaseFileGroupContext databaseFileGroup() throws RecognitionException {
23706 DatabaseFileGroupContext _localctx = new DatabaseFileGroupContext(_ctx, getState());
23707 enterRule(_localctx, 500, RULE_databaseFileGroup);
23708 try {
23709 int _alt;
23710 enterOuterAlt(_localctx, 1);
23711 {
23712 setState(3402);
23713 match(FILEGROUP);
23714 setState(3403);
23715 ignoredIdentifier();
23716 setState(3405);
23717 _errHandler.sync(this);
23718 switch ( getInterpreter().adaptivePredict(_input,324,_ctx) ) {
23719 case 1:
23720 {
23721 setState(3404);
23722 databaseFileGroupContains();
23723 }
23724 break;
23725 }
23726 setState(3407);
23727 fileSpec();
23728 setState(3412);
23729 _errHandler.sync(this);
23730 _alt = getInterpreter().adaptivePredict(_input,325,_ctx);
23731 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
23732 if ( _alt==1 ) {
23733 {
23734 {
23735 setState(3408);
23736 match(COMMA_);
23737 setState(3409);
23738 fileSpec();
23739 }
23740 }
23741 }
23742 setState(3414);
23743 _errHandler.sync(this);
23744 _alt = getInterpreter().adaptivePredict(_input,325,_ctx);
23745 }
23746 }
23747 }
23748 catch (RecognitionException re) {
23749 _localctx.exception = re;
23750 _errHandler.reportError(this, re);
23751 _errHandler.recover(this, re);
23752 }
23753 finally {
23754 exitRule();
23755 }
23756 return _localctx;
23757 }
23758
23759 public static class DatabaseFileGroupContainsContext extends ParserRuleContext {
23760 public TerminalNode CONTAINS() { return getToken(SQLServerStatementParser.CONTAINS, 0); }
23761 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
23762 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
23763 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
23764 public DatabaseFileGroupContainsContext(ParserRuleContext parent, int invokingState) {
23765 super(parent, invokingState);
23766 }
23767 @Override public int getRuleIndex() { return RULE_databaseFileGroupContains; }
23768 @Override
23769 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23770 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileGroupContains(this);
23771 else return visitor.visitChildren(this);
23772 }
23773 }
23774
23775 public final DatabaseFileGroupContainsContext databaseFileGroupContains() throws RecognitionException {
23776 DatabaseFileGroupContainsContext _localctx = new DatabaseFileGroupContainsContext(_ctx, getState());
23777 enterRule(_localctx, 502, RULE_databaseFileGroupContains);
23778 int _la;
23779 try {
23780 setState(3424);
23781 _errHandler.sync(this);
23782 switch ( getInterpreter().adaptivePredict(_input,328,_ctx) ) {
23783 case 1:
23784 enterOuterAlt(_localctx, 1);
23785 {
23786 setState(3417);
23787 _errHandler.sync(this);
23788 _la = _input.LA(1);
23789 if (_la==CONTAINS) {
23790 {
23791 setState(3415);
23792 match(CONTAINS);
23793 setState(3416);
23794 match(FILESTREAM);
23795 }
23796 }
23797
23798 setState(3420);
23799 _errHandler.sync(this);
23800 _la = _input.LA(1);
23801 if (_la==DEFAULT) {
23802 {
23803 setState(3419);
23804 match(DEFAULT);
23805 }
23806 }
23807
23808 }
23809 break;
23810 case 2:
23811 enterOuterAlt(_localctx, 2);
23812 {
23813 setState(3422);
23814 match(CONTAINS);
23815 setState(3423);
23816 match(MEMORY_OPTIMIZED_DATA);
23817 }
23818 break;
23819 }
23820 }
23821 catch (RecognitionException re) {
23822 _localctx.exception = re;
23823 _errHandler.reportError(this, re);
23824 _errHandler.recover(this, re);
23825 }
23826 finally {
23827 exitRule();
23828 }
23829 return _localctx;
23830 }
23831
23832 public static class DatabaseLogOnsContext extends ParserRuleContext {
23833 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
23834 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
23835 public List<FileSpecContext> fileSpec() {
23836 return getRuleContexts(FileSpecContext.class);
23837 }
23838 public FileSpecContext fileSpec(int i) {
23839 return getRuleContext(FileSpecContext.class,i);
23840 }
23841 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
23842 public TerminalNode COMMA_(int i) {
23843 return getToken(SQLServerStatementParser.COMMA_, i);
23844 }
23845 public DatabaseLogOnsContext(ParserRuleContext parent, int invokingState) {
23846 super(parent, invokingState);
23847 }
23848 @Override public int getRuleIndex() { return RULE_databaseLogOns; }
23849 @Override
23850 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23851 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseLogOns(this);
23852 else return visitor.visitChildren(this);
23853 }
23854 }
23855
23856 public final DatabaseLogOnsContext databaseLogOns() throws RecognitionException {
23857 DatabaseLogOnsContext _localctx = new DatabaseLogOnsContext(_ctx, getState());
23858 enterRule(_localctx, 504, RULE_databaseLogOns);
23859 int _la;
23860 try {
23861 enterOuterAlt(_localctx, 1);
23862 {
23863 setState(3436);
23864 _errHandler.sync(this);
23865 _la = _input.LA(1);
23866 if (_la==LOG) {
23867 {
23868 setState(3426);
23869 match(LOG);
23870 setState(3427);
23871 match(ON);
23872 setState(3428);
23873 fileSpec();
23874 setState(3433);
23875 _errHandler.sync(this);
23876 _la = _input.LA(1);
23877 while (_la==COMMA_) {
23878 {
23879 {
23880 setState(3429);
23881 match(COMMA_);
23882 setState(3430);
23883 fileSpec();
23884 }
23885 }
23886 setState(3435);
23887 _errHandler.sync(this);
23888 _la = _input.LA(1);
23889 }
23890 }
23891 }
23892
23893 }
23894 }
23895 catch (RecognitionException re) {
23896 _localctx.exception = re;
23897 _errHandler.reportError(this, re);
23898 _errHandler.recover(this, re);
23899 }
23900 finally {
23901 exitRule();
23902 }
23903 return _localctx;
23904 }
23905
23906 public static class DeclareVariableContext extends ParserRuleContext {
23907 public TerminalNode DECLARE() { return getToken(SQLServerStatementParser.DECLARE, 0); }
23908 public List<VariableContext> variable() {
23909 return getRuleContexts(VariableContext.class);
23910 }
23911 public VariableContext variable(int i) {
23912 return getRuleContext(VariableContext.class,i);
23913 }
23914 public TableVariableContext tableVariable() {
23915 return getRuleContext(TableVariableContext.class,0);
23916 }
23917 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
23918 public TerminalNode COMMA_(int i) {
23919 return getToken(SQLServerStatementParser.COMMA_, i);
23920 }
23921 public DeclareVariableContext(ParserRuleContext parent, int invokingState) {
23922 super(parent, invokingState);
23923 }
23924 @Override public int getRuleIndex() { return RULE_declareVariable; }
23925 @Override
23926 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23927 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDeclareVariable(this);
23928 else return visitor.visitChildren(this);
23929 }
23930 }
23931
23932 public final DeclareVariableContext declareVariable() throws RecognitionException {
23933 DeclareVariableContext _localctx = new DeclareVariableContext(_ctx, getState());
23934 enterRule(_localctx, 506, RULE_declareVariable);
23935 int _la;
23936 try {
23937 enterOuterAlt(_localctx, 1);
23938 {
23939 setState(3438);
23940 match(DECLARE);
23941 setState(3448);
23942 _errHandler.sync(this);
23943 switch ( getInterpreter().adaptivePredict(_input,332,_ctx) ) {
23944 case 1:
23945 {
23946 setState(3439);
23947 variable();
23948 setState(3444);
23949 _errHandler.sync(this);
23950 _la = _input.LA(1);
23951 while (_la==COMMA_) {
23952 {
23953 {
23954 setState(3440);
23955 match(COMMA_);
23956 setState(3441);
23957 variable();
23958 }
23959 }
23960 setState(3446);
23961 _errHandler.sync(this);
23962 _la = _input.LA(1);
23963 }
23964 }
23965 break;
23966 case 2:
23967 {
23968 setState(3447);
23969 tableVariable();
23970 }
23971 break;
23972 }
23973 }
23974 }
23975 catch (RecognitionException re) {
23976 _localctx.exception = re;
23977 _errHandler.reportError(this, re);
23978 _errHandler.recover(this, re);
23979 }
23980 finally {
23981 exitRule();
23982 }
23983 return _localctx;
23984 }
23985
23986 public static class VariableContext extends ParserRuleContext {
23987 public VariableNameContext variableName() {
23988 return getRuleContext(VariableNameContext.class,0);
23989 }
23990 public DataTypeContext dataType() {
23991 return getRuleContext(DataTypeContext.class,0);
23992 }
23993 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
23994 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23995 public SimpleExprContext simpleExpr() {
23996 return getRuleContext(SimpleExprContext.class,0);
23997 }
23998 public TerminalNode CURSOR() { return getToken(SQLServerStatementParser.CURSOR, 0); }
23999 public VariableContext(ParserRuleContext parent, int invokingState) {
24000 super(parent, invokingState);
24001 }
24002 @Override public int getRuleIndex() { return RULE_variable; }
24003 @Override
24004 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24005 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariable(this);
24006 else return visitor.visitChildren(this);
24007 }
24008 }
24009
24010 public final VariableContext variable() throws RecognitionException {
24011 VariableContext _localctx = new VariableContext(_ctx, getState());
24012 enterRule(_localctx, 508, RULE_variable);
24013 int _la;
24014 try {
24015 setState(3462);
24016 _errHandler.sync(this);
24017 switch ( getInterpreter().adaptivePredict(_input,335,_ctx) ) {
24018 case 1:
24019 enterOuterAlt(_localctx, 1);
24020 {
24021 setState(3450);
24022 variableName();
24023 setState(3452);
24024 _errHandler.sync(this);
24025 _la = _input.LA(1);
24026 if (_la==AS) {
24027 {
24028 setState(3451);
24029 match(AS);
24030 }
24031 }
24032
24033 setState(3454);
24034 dataType();
24035 setState(3457);
24036 _errHandler.sync(this);
24037 switch ( getInterpreter().adaptivePredict(_input,334,_ctx) ) {
24038 case 1:
24039 {
24040 setState(3455);
24041 match(EQ_);
24042 setState(3456);
24043 simpleExpr(0);
24044 }
24045 break;
24046 }
24047 }
24048 break;
24049 case 2:
24050 enterOuterAlt(_localctx, 2);
24051 {
24052 setState(3459);
24053 variableName();
24054 setState(3460);
24055 match(CURSOR);
24056 }
24057 break;
24058 }
24059 }
24060 catch (RecognitionException re) {
24061 _localctx.exception = re;
24062 _errHandler.reportError(this, re);
24063 _errHandler.recover(this, re);
24064 }
24065 finally {
24066 exitRule();
24067 }
24068 return _localctx;
24069 }
24070
24071 public static class TableVariableContext extends ParserRuleContext {
24072 public VariableNameContext variableName() {
24073 return getRuleContext(VariableNameContext.class,0);
24074 }
24075 public VariTableTypeDefinitionContext variTableTypeDefinition() {
24076 return getRuleContext(VariTableTypeDefinitionContext.class,0);
24077 }
24078 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
24079 public TableVariableContext(ParserRuleContext parent, int invokingState) {
24080 super(parent, invokingState);
24081 }
24082 @Override public int getRuleIndex() { return RULE_tableVariable; }
24083 @Override
24084 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24085 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableVariable(this);
24086 else return visitor.visitChildren(this);
24087 }
24088 }
24089
24090 public final TableVariableContext tableVariable() throws RecognitionException {
24091 TableVariableContext _localctx = new TableVariableContext(_ctx, getState());
24092 enterRule(_localctx, 510, RULE_tableVariable);
24093 int _la;
24094 try {
24095 enterOuterAlt(_localctx, 1);
24096 {
24097 setState(3464);
24098 variableName();
24099 setState(3466);
24100 _errHandler.sync(this);
24101 _la = _input.LA(1);
24102 if (_la==AS) {
24103 {
24104 setState(3465);
24105 match(AS);
24106 }
24107 }
24108
24109 setState(3468);
24110 variTableTypeDefinition();
24111 }
24112 }
24113 catch (RecognitionException re) {
24114 _localctx.exception = re;
24115 _errHandler.reportError(this, re);
24116 _errHandler.recover(this, re);
24117 }
24118 finally {
24119 exitRule();
24120 }
24121 return _localctx;
24122 }
24123
24124 public static class VariTableTypeDefinitionContext extends ParserRuleContext {
24125 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
24126 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24127 public List<TableVariableClauseContext> tableVariableClause() {
24128 return getRuleContexts(TableVariableClauseContext.class);
24129 }
24130 public TableVariableClauseContext tableVariableClause(int i) {
24131 return getRuleContext(TableVariableClauseContext.class,i);
24132 }
24133 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24134 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24135 public TerminalNode COMMA_(int i) {
24136 return getToken(SQLServerStatementParser.COMMA_, i);
24137 }
24138 public VariTableTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
24139 super(parent, invokingState);
24140 }
24141 @Override public int getRuleIndex() { return RULE_variTableTypeDefinition; }
24142 @Override
24143 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24144 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariTableTypeDefinition(this);
24145 else return visitor.visitChildren(this);
24146 }
24147 }
24148
24149 public final VariTableTypeDefinitionContext variTableTypeDefinition() throws RecognitionException {
24150 VariTableTypeDefinitionContext _localctx = new VariTableTypeDefinitionContext(_ctx, getState());
24151 enterRule(_localctx, 512, RULE_variTableTypeDefinition);
24152 int _la;
24153 try {
24154 enterOuterAlt(_localctx, 1);
24155 {
24156 setState(3470);
24157 match(TABLE);
24158 setState(3471);
24159 match(LP_);
24160 setState(3472);
24161 tableVariableClause();
24162 setState(3477);
24163 _errHandler.sync(this);
24164 _la = _input.LA(1);
24165 while (_la==COMMA_) {
24166 {
24167 {
24168 setState(3473);
24169 match(COMMA_);
24170 setState(3474);
24171 tableVariableClause();
24172 }
24173 }
24174 setState(3479);
24175 _errHandler.sync(this);
24176 _la = _input.LA(1);
24177 }
24178 setState(3480);
24179 match(RP_);
24180 }
24181 }
24182 catch (RecognitionException re) {
24183 _localctx.exception = re;
24184 _errHandler.reportError(this, re);
24185 _errHandler.recover(this, re);
24186 }
24187 finally {
24188 exitRule();
24189 }
24190 return _localctx;
24191 }
24192
24193 public static class TableVariableClauseContext extends ParserRuleContext {
24194 public VariableTableColumnDefinitionContext variableTableColumnDefinition() {
24195 return getRuleContext(VariableTableColumnDefinitionContext.class,0);
24196 }
24197 public VariableTableConstraintContext variableTableConstraint() {
24198 return getRuleContext(VariableTableConstraintContext.class,0);
24199 }
24200 public TableVariableClauseContext(ParserRuleContext parent, int invokingState) {
24201 super(parent, invokingState);
24202 }
24203 @Override public int getRuleIndex() { return RULE_tableVariableClause; }
24204 @Override
24205 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24206 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableVariableClause(this);
24207 else return visitor.visitChildren(this);
24208 }
24209 }
24210
24211 public final TableVariableClauseContext tableVariableClause() throws RecognitionException {
24212 TableVariableClauseContext _localctx = new TableVariableClauseContext(_ctx, getState());
24213 enterRule(_localctx, 514, RULE_tableVariableClause);
24214 try {
24215 setState(3484);
24216 _errHandler.sync(this);
24217 switch (_input.LA(1)) {
24218 case DOLLAR_:
24219 case TRUNCATE:
24220 case SCHEMA:
24221 case COLUMNS:
24222 case PRECISION:
24223 case FUNCTION:
24224 case TRIGGER:
24225 case CAST:
24226 case SUBSTRING:
24227 case OFF:
24228 case GROUP:
24229 case LIMIT:
24230 case OFFSET:
24231 case SAVEPOINT:
24232 case BOOLEAN:
24233 case ARRAY:
24234 case DATE:
24235 case LOCALTIME:
24236 case LOCALTIMESTAMP:
24237 case QUARTER:
24238 case WEEK:
24239 case DAY:
24240 case SECOND:
24241 case MICROSECOND:
24242 case MAX:
24243 case MIN:
24244 case SUM:
24245 case COUNT:
24246 case AVG:
24247 case ENABLE:
24248 case DISABLE:
24249 case INSTANCE:
24250 case DO:
24251 case DEFINER:
24252 case SQL:
24253 case CASCADED:
24254 case LOCAL:
24255 case NEXT:
24256 case NAME:
24257 case INTEGER:
24258 case TYPE:
24259 case TEXT:
24260 case VIEWS:
24261 case READ_ONLY:
24262 case DATABASE:
24263 case RETURNS:
24264 case DATEPART:
24265 case PASSWORD:
24266 case BINARY:
24267 case HIDDEN_:
24268 case MOD:
24269 case PARTITION:
24270 case PARTITIONS:
24271 case TOP:
24272 case ROW:
24273 case ROWS:
24274 case XOR:
24275 case ALWAYS:
24276 case ROLE:
24277 case START:
24278 case ALGORITHM:
24279 case AUTO:
24280 case BLOCKERS:
24281 case CLUSTERED:
24282 case NONCLUSTERED:
24283 case COLUMNSTORE:
24284 case CONTENT:
24285 case YEARS:
24286 case MONTHS:
24287 case WEEKS:
24288 case DAYS:
24289 case MINUTES:
24290 case DENY:
24291 case DETERMINISTIC:
24292 case DISTRIBUTION:
24293 case DOCUMENT:
24294 case DURABILITY:
24295 case ENCRYPTED:
24296 case FILESTREAM:
24297 case FILETABLE:
24298 case FILLFACTOR:
24299 case FOLLOWING:
24300 case HASH:
24301 case HEAP:
24302 case INBOUND:
24303 case OUTBOUND:
24304 case UNBOUNDED:
24305 case INFINITE:
24306 case LOGIN:
24307 case MASKED:
24308 case MAXDOP:
24309 case MOVE:
24310 case NOCHECK:
24311 case OBJECT:
24312 case ONLINE:
24313 case OVER:
24314 case PAGE:
24315 case PAUSED:
24316 case PERIOD:
24317 case PERSISTED:
24318 case PRECEDING:
24319 case RANDOMIZED:
24320 case RANGE:
24321 case REBUILD:
24322 case REPLICATE:
24323 case REPLICATION:
24324 case RESUMABLE:
24325 case ROWGUIDCOL:
24326 case SAVE:
24327 case SELF:
24328 case SPARSE:
24329 case SWITCH:
24330 case TRAN:
24331 case TRANCOUNT:
24332 case CONTROL:
24333 case CONCAT:
24334 case TAKE:
24335 case OWNERSHIP:
24336 case DEFINITION:
24337 case APPLICATION:
24338 case ASSEMBLY:
24339 case SYMMETRIC:
24340 case ASYMMETRIC:
24341 case SERVER:
24342 case RECEIVE:
24343 case CHANGE:
24344 case TRACE:
24345 case TRACKING:
24346 case RESOURCES:
24347 case SETTINGS:
24348 case STATE:
24349 case AVAILABILITY:
24350 case CREDENTIAL:
24351 case ENDPOINT:
24352 case EVENT:
24353 case NOTIFICATION:
24354 case LINKED:
24355 case AUDIT:
24356 case DDL:
24357 case XML:
24358 case IMPERSONATE:
24359 case SECURABLES:
24360 case AUTHENTICATE:
24361 case EXTERNAL:
24362 case ACCESS:
24363 case ADMINISTER:
24364 case BULK:
24365 case OPERATIONS:
24366 case UNSAFE:
24367 case SHUTDOWN:
24368 case SCOPED:
24369 case CONFIGURATION:
24370 case DATASPACE:
24371 case SERVICE:
24372 case CERTIFICATE:
24373 case CONTRACT:
24374 case ENCRYPTION:
24375 case MASTER:
24376 case DATA:
24377 case SOURCE:
24378 case FILE:
24379 case FORMAT:
24380 case LIBRARY:
24381 case FULLTEXT:
24382 case MASK:
24383 case UNMASK:
24384 case MESSAGE:
24385 case REMOTE:
24386 case BINDING:
24387 case ROUTE:
24388 case SECURITY:
24389 case POLICY:
24390 case AGGREGATE:
24391 case QUEUE:
24392 case RULE:
24393 case SYNONYM:
24394 case COLLECTION:
24395 case SCRIPT:
24396 case KILL:
24397 case BACKUP:
24398 case LOG:
24399 case SHOWPLAN:
24400 case SUBSCRIBE:
24401 case QUERY:
24402 case NOTIFICATIONS:
24403 case CHECKPOINT:
24404 case SEQUENCE:
24405 case ABORT_AFTER_WAIT:
24406 case ALLOW_PAGE_LOCKS:
24407 case ALLOW_ROW_LOCKS:
24408 case ALL_SPARSE_COLUMNS:
24409 case BUCKET_COUNT:
24410 case COLUMNSTORE_ARCHIVE:
24411 case COLUMN_ENCRYPTION_KEY:
24412 case COLUMN_SET:
24413 case COMPRESSION_DELAY:
24414 case DATABASE_DEAULT:
24415 case DATA_COMPRESSION:
24416 case DATA_CONSISTENCY_CHECK:
24417 case ENCRYPTION_TYPE:
24418 case SYSTEM_TIME:
24419 case SYSTEM_VERSIONING:
24420 case TEXTIMAGE_ON:
24421 case WAIT_AT_LOW_PRIORITY:
24422 case STATISTICS_INCREMENTAL:
24423 case STATISTICS_NORECOMPUTE:
24424 case ROUND_ROBIN:
24425 case SCHEMA_AND_DATA:
24426 case SCHEMA_ONLY:
24427 case SORT_IN_TEMPDB:
24428 case IGNORE_DUP_KEY:
24429 case IMPLICIT_TRANSACTIONS:
24430 case MAX_DURATION:
24431 case MEMORY_OPTIMIZED:
24432 case MIGRATION_STATE:
24433 case PAD_INDEX:
24434 case REMOTE_DATA_ARCHIVE:
24435 case FILESTREAM_ON:
24436 case FILETABLE_COLLATE_FILENAME:
24437 case FILETABLE_DIRECTORY:
24438 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
24439 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
24440 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
24441 case FILTER_PREDICATE:
24442 case HISTORY_RETENTION_PERIOD:
24443 case HISTORY_TABLE:
24444 case LOCK_ESCALATION:
24445 case DROP_EXISTING:
24446 case ROW_NUMBER:
24447 case FIRST:
24448 case DATETIME2:
24449 case OUTPUT:
24450 case INSERTED:
24451 case DELETED:
24452 case FILENAME:
24453 case MAXSIZE:
24454 case FILEGROWTH:
24455 case UNLIMITED:
24456 case KB:
24457 case MB:
24458 case GB:
24459 case TB:
24460 case MEMORY_OPTIMIZED_DATA:
24461 case FILEGROUP:
24462 case NON_TRANSACTED_ACCESS:
24463 case DB_CHAINING:
24464 case TRUSTWORTHY:
24465 case FORWARD_ONLY:
24466 case KEYSET:
24467 case FAST_FORWARD:
24468 case SCROLL_LOCKS:
24469 case OPTIMISTIC:
24470 case TYPE_WARNING:
24471 case SCHEMABINDING:
24472 case CALLER:
24473 case OWNER:
24474 case SNAPSHOT:
24475 case REPEATABLE:
24476 case SERIALIZABLE:
24477 case NATIVE_COMPILATION:
24478 case VIEW_METADATA:
24479 case INSTEAD:
24480 case APPEND:
24481 case INCREMENT:
24482 case CACHE:
24483 case MINVALUE:
24484 case MAXVALUE:
24485 case RESTART:
24486 case LOB_COMPACTION:
24487 case COMPRESS_ALL_ROW_GROUPS:
24488 case REORGANIZE:
24489 case RESUME:
24490 case PAUSE:
24491 case ABORT:
24492 case ACCELERATED_DATABASE_RECOVERY:
24493 case PERSISTENT_VERSION_STORE_FILEGROUP:
24494 case IMMEDIATE:
24495 case NO_WAIT:
24496 case TARGET_RECOVERY_TIME:
24497 case SECONDS:
24498 case HONOR_BROKER_PRIORITY:
24499 case ERROR_BROKER_CONVERSATIONS:
24500 case NEW_BROKER:
24501 case DISABLE_BROKER:
24502 case ENABLE_BROKER:
24503 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
24504 case READ_COMMITTED_SNAPSHOT:
24505 case ALLOW_SNAPSHOT_ISOLATION:
24506 case RECURSIVE_TRIGGERS:
24507 case QUOTED_IDENTIFIER:
24508 case NUMERIC_ROUNDABORT:
24509 case CONCAT_NULL_YIELDS_NULL:
24510 case COMPATIBILITY_LEVEL:
24511 case ARITHABORT:
24512 case ANSI_WARNINGS:
24513 case ANSI_PADDING:
24514 case ANSI_NULLS:
24515 case ANSI_NULL_DEFAULT:
24516 case PAGE_VERIFY:
24517 case CHECKSUM:
24518 case TORN_PAGE_DETECTION:
24519 case BULK_LOGGED:
24520 case RECOVERY:
24521 case TOTAL_EXECUTION_CPU_TIME_MS:
24522 case TOTAL_COMPILE_CPU_TIME_MS:
24523 case STALE_CAPTURE_POLICY_THRESHOLD:
24524 case EXECUTION_COUNT:
24525 case QUERY_CAPTURE_POLICY:
24526 case WAIT_STATS_CAPTURE_MODE:
24527 case MAX_PLANS_PER_QUERY:
24528 case QUERY_CAPTURE_MODE:
24529 case SIZE_BASED_CLEANUP_MODE:
24530 case INTERVAL_LENGTH_MINUTES:
24531 case MAX_STORAGE_SIZE_MB:
24532 case DATA_FLUSH_INTERVAL_SECONDS:
24533 case CLEANUP_POLICY:
24534 case CUSTOM:
24535 case STALE_QUERY_THRESHOLD_DAYS:
24536 case OPERATION_MODE:
24537 case QUERY_STORE:
24538 case CURSOR_DEFAULT:
24539 case GLOBAL:
24540 case CURSOR_CLOSE_ON_COMMIT:
24541 case HOURS:
24542 case CHANGE_RETENTION:
24543 case AUTO_CLEANUP:
24544 case CHANGE_TRACKING:
24545 case AUTOMATIC_TUNING:
24546 case FORCE_LAST_GOOD_PLAN:
24547 case AUTO_UPDATE_STATISTICS_ASYNC:
24548 case AUTO_UPDATE_STATISTICS:
24549 case AUTO_SHRINK:
24550 case AUTO_CREATE_STATISTICS:
24551 case INCREMENTAL:
24552 case AUTO_CLOSE:
24553 case DATA_RETENTION:
24554 case TEMPORAL_HISTORY_RETENTION:
24555 case EDITION:
24556 case MIXED_PAGE_ALLOCATION:
24557 case DISABLED:
24558 case ALLOWED:
24559 case HADR:
24560 case MULTI_USER:
24561 case RESTRICTED_USER:
24562 case SINGLE_USER:
24563 case OFFLINE:
24564 case EMERGENCY:
24565 case SUSPEND:
24566 case DATE_CORRELATION_OPTIMIZATION:
24567 case ELASTIC_POOL:
24568 case SERVICE_OBJECTIVE:
24569 case DATABASE_NAME:
24570 case ALLOW_CONNECTIONS:
24571 case GEO:
24572 case NAMED:
24573 case DATEFIRST:
24574 case BACKUP_STORAGE_REDUNDANCY:
24575 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
24576 case SECONDARY:
24577 case FAILOVER:
24578 case DEFAULT_FULLTEXT_LANGUAGE:
24579 case DEFAULT_LANGUAGE:
24580 case INLINE:
24581 case NESTED_TRIGGERS:
24582 case TRANSFORM_NOISE_WORDS:
24583 case TWO_DIGIT_YEAR_CUTOFF:
24584 case PERSISTENT_LOG_BUFFER:
24585 case DIRECTORY_NAME:
24586 case DATEFORMAT:
24587 case DELAYED_DURABILITY:
24588 case AUTHORIZATION:
24589 case TRANSFER:
24590 case PROVIDER:
24591 case SEARCH:
24592 case MEMBER:
24593 case IDENTIFIER_:
24594 case DELIMITED_IDENTIFIER_:
24595 enterOuterAlt(_localctx, 1);
24596 {
24597 setState(3482);
24598 variableTableColumnDefinition();
24599 }
24600 break;
24601 case PRIMARY:
24602 case UNIQUE:
24603 case CHECK:
24604 enterOuterAlt(_localctx, 2);
24605 {
24606 setState(3483);
24607 variableTableConstraint();
24608 }
24609 break;
24610 default:
24611 throw new NoViableAltException(this);
24612 }
24613 }
24614 catch (RecognitionException re) {
24615 _localctx.exception = re;
24616 _errHandler.reportError(this, re);
24617 _errHandler.recover(this, re);
24618 }
24619 finally {
24620 exitRule();
24621 }
24622 return _localctx;
24623 }
24624
24625 public static class VariableTableColumnDefinitionContext extends ParserRuleContext {
24626 public ColumnNameContext columnName() {
24627 return getRuleContext(ColumnNameContext.class,0);
24628 }
24629 public VariableTableColumnConstraintContext variableTableColumnConstraint() {
24630 return getRuleContext(VariableTableColumnConstraintContext.class,0);
24631 }
24632 public DataTypeNameContext dataTypeName() {
24633 return getRuleContext(DataTypeNameContext.class,0);
24634 }
24635 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
24636 public List<ExprContext> expr() {
24637 return getRuleContexts(ExprContext.class);
24638 }
24639 public ExprContext expr(int i) {
24640 return getRuleContext(ExprContext.class,i);
24641 }
24642 public TerminalNode IDENTITY() { return getToken(SQLServerStatementParser.IDENTITY, 0); }
24643 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
24644 public CollationNameContext collationName() {
24645 return getRuleContext(CollationNameContext.class,0);
24646 }
24647 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
24648 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
24649 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24650 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
24651 public TerminalNode NUMBER_(int i) {
24652 return getToken(SQLServerStatementParser.NUMBER_, i);
24653 }
24654 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
24655 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24656 public VariableTableColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
24657 super(parent, invokingState);
24658 }
24659 @Override public int getRuleIndex() { return RULE_variableTableColumnDefinition; }
24660 @Override
24661 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24662 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableColumnDefinition(this);
24663 else return visitor.visitChildren(this);
24664 }
24665 }
24666
24667 public final VariableTableColumnDefinitionContext variableTableColumnDefinition() throws RecognitionException {
24668 VariableTableColumnDefinitionContext _localctx = new VariableTableColumnDefinitionContext(_ctx, getState());
24669 enterRule(_localctx, 516, RULE_variableTableColumnDefinition);
24670 int _la;
24671 try {
24672 enterOuterAlt(_localctx, 1);
24673 {
24674 setState(3486);
24675 columnName();
24676 setState(3490);
24677 _errHandler.sync(this);
24678 switch (_input.LA(1)) {
24679 case CHAR:
24680 case DATE:
24681 case TIME:
24682 case INTEGER:
24683 case REAL:
24684 case DECIMAL:
24685 case BIT:
24686 case SMALLINT:
24687 case INT:
24688 case TINYINT:
24689 case NUMERIC:
24690 case FLOAT:
24691 case BIGINT:
24692 case TEXT:
24693 case VARCHAR:
24694 case BINARY:
24695 case XML:
24696 case MONEY:
24697 case SMALLMONEY:
24698 case DATETIMEOFFSET:
24699 case DATETIME:
24700 case DATETIME2:
24701 case SMALLDATETIME:
24702 case NCHAR:
24703 case NVARCHAR:
24704 case NTEXT:
24705 case VARBINARY:
24706 case IMAGE:
24707 case SQL_VARIANT:
24708 case UNIQUEIDENTIFIER:
24709 case HIERARCHYID:
24710 case GEOMETRY:
24711 case GEOGRAPHY:
24712 case IDENTIFIER_:
24713 {
24714 setState(3487);
24715 dataTypeName();
24716 }
24717 break;
24718 case AS:
24719 {
24720 setState(3488);
24721 match(AS);
24722 setState(3489);
24723 expr(0);
24724 }
24725 break;
24726 default:
24727 throw new NoViableAltException(this);
24728 }
24729 setState(3494);
24730 _errHandler.sync(this);
24731 _la = _input.LA(1);
24732 if (_la==COLLATE) {
24733 {
24734 setState(3492);
24735 match(COLLATE);
24736 setState(3493);
24737 collationName();
24738 }
24739 }
24740
24741 setState(3508);
24742 _errHandler.sync(this);
24743 switch (_input.LA(1)) {
24744 case RP_:
24745 case COMMA_:
24746 case PRIMARY:
24747 case UNIQUE:
24748 case WITH:
24749 case NOT:
24750 case NULL:
24751 case DEFAULT:
24752 case CHECK:
24753 case ROWGUIDCOL:
24754 {
24755 setState(3498);
24756 _errHandler.sync(this);
24757 _la = _input.LA(1);
24758 if (_la==DEFAULT) {
24759 {
24760 setState(3496);
24761 match(DEFAULT);
24762 setState(3497);
24763 expr(0);
24764 }
24765 }
24766
24767 }
24768 break;
24769 case IDENTITY:
24770 {
24771 setState(3500);
24772 match(IDENTITY);
24773 setState(3506);
24774 _errHandler.sync(this);
24775 _la = _input.LA(1);
24776 if (_la==LP_) {
24777 {
24778 setState(3501);
24779 match(LP_);
24780 setState(3502);
24781 match(NUMBER_);
24782 setState(3503);
24783 match(COMMA_);
24784 setState(3504);
24785 match(NUMBER_);
24786 setState(3505);
24787 match(RP_);
24788 }
24789 }
24790
24791 }
24792 break;
24793 default:
24794 throw new NoViableAltException(this);
24795 }
24796 setState(3511);
24797 _errHandler.sync(this);
24798 _la = _input.LA(1);
24799 if (_la==ROWGUIDCOL) {
24800 {
24801 setState(3510);
24802 match(ROWGUIDCOL);
24803 }
24804 }
24805
24806 setState(3513);
24807 variableTableColumnConstraint();
24808 }
24809 }
24810 catch (RecognitionException re) {
24811 _localctx.exception = re;
24812 _errHandler.reportError(this, re);
24813 _errHandler.recover(this, re);
24814 }
24815 finally {
24816 exitRule();
24817 }
24818 return _localctx;
24819 }
24820
24821 public static class VariableTableColumnConstraintContext extends ParserRuleContext {
24822 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
24823 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
24824 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
24825 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
24826 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
24827 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
24828 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24829 public ExprContext expr() {
24830 return getRuleContext(ExprContext.class,0);
24831 }
24832 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24833 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
24834 public IndexOptionContext indexOption() {
24835 return getRuleContext(IndexOptionContext.class,0);
24836 }
24837 public VariableTableColumnConstraintContext(ParserRuleContext parent, int invokingState) {
24838 super(parent, invokingState);
24839 }
24840 @Override public int getRuleIndex() { return RULE_variableTableColumnConstraint; }
24841 @Override
24842 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24843 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableColumnConstraint(this);
24844 else return visitor.visitChildren(this);
24845 }
24846 }
24847
24848 public final VariableTableColumnConstraintContext variableTableColumnConstraint() throws RecognitionException {
24849 VariableTableColumnConstraintContext _localctx = new VariableTableColumnConstraintContext(_ctx, getState());
24850 enterRule(_localctx, 518, RULE_variableTableColumnConstraint);
24851 try {
24852 setState(3532);
24853 _errHandler.sync(this);
24854 switch ( getInterpreter().adaptivePredict(_input,347,_ctx) ) {
24855 case 1:
24856 enterOuterAlt(_localctx, 1);
24857 {
24858 setState(3518);
24859 _errHandler.sync(this);
24860 switch (_input.LA(1)) {
24861 case NULL:
24862 {
24863 setState(3515);
24864 match(NULL);
24865 }
24866 break;
24867 case NOT:
24868 {
24869 setState(3516);
24870 match(NOT);
24871 setState(3517);
24872 match(NULL);
24873 }
24874 break;
24875 case RP_:
24876 case COMMA_:
24877 break;
24878 default:
24879 break;
24880 }
24881 }
24882 break;
24883 case 2:
24884 enterOuterAlt(_localctx, 2);
24885 {
24886 setState(3523);
24887 _errHandler.sync(this);
24888 switch (_input.LA(1)) {
24889 case PRIMARY:
24890 {
24891 setState(3520);
24892 match(PRIMARY);
24893 setState(3521);
24894 match(KEY);
24895 }
24896 break;
24897 case UNIQUE:
24898 {
24899 setState(3522);
24900 match(UNIQUE);
24901 }
24902 break;
24903 case RP_:
24904 case COMMA_:
24905 break;
24906 default:
24907 break;
24908 }
24909 }
24910 break;
24911 case 3:
24912 enterOuterAlt(_localctx, 3);
24913 {
24914 setState(3525);
24915 match(CHECK);
24916 setState(3526);
24917 match(LP_);
24918 setState(3527);
24919 expr(0);
24920 setState(3528);
24921 match(RP_);
24922 }
24923 break;
24924 case 4:
24925 enterOuterAlt(_localctx, 4);
24926 {
24927 setState(3530);
24928 match(WITH);
24929 setState(3531);
24930 indexOption();
24931 }
24932 break;
24933 }
24934 }
24935 catch (RecognitionException re) {
24936 _localctx.exception = re;
24937 _errHandler.reportError(this, re);
24938 _errHandler.recover(this, re);
24939 }
24940 finally {
24941 exitRule();
24942 }
24943 return _localctx;
24944 }
24945
24946 public static class VariableTableConstraintContext extends ParserRuleContext {
24947 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24948 public List<ColumnNameContext> columnName() {
24949 return getRuleContexts(ColumnNameContext.class);
24950 }
24951 public ColumnNameContext columnName(int i) {
24952 return getRuleContext(ColumnNameContext.class,i);
24953 }
24954 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24955 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
24956 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
24957 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
24958 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24959 public TerminalNode COMMA_(int i) {
24960 return getToken(SQLServerStatementParser.COMMA_, i);
24961 }
24962 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
24963 public ExprContext expr() {
24964 return getRuleContext(ExprContext.class,0);
24965 }
24966 public VariableTableConstraintContext(ParserRuleContext parent, int invokingState) {
24967 super(parent, invokingState);
24968 }
24969 @Override public int getRuleIndex() { return RULE_variableTableConstraint; }
24970 @Override
24971 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24972 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableConstraint(this);
24973 else return visitor.visitChildren(this);
24974 }
24975 }
24976
24977 public final VariableTableConstraintContext variableTableConstraint() throws RecognitionException {
24978 VariableTableConstraintContext _localctx = new VariableTableConstraintContext(_ctx, getState());
24979 enterRule(_localctx, 520, RULE_variableTableConstraint);
24980 int _la;
24981 try {
24982 setState(3552);
24983 _errHandler.sync(this);
24984 switch (_input.LA(1)) {
24985 case PRIMARY:
24986 case UNIQUE:
24987 enterOuterAlt(_localctx, 1);
24988 {
24989 setState(3537);
24990 _errHandler.sync(this);
24991 switch (_input.LA(1)) {
24992 case PRIMARY:
24993 {
24994 setState(3534);
24995 match(PRIMARY);
24996 setState(3535);
24997 match(KEY);
24998 }
24999 break;
25000 case UNIQUE:
25001 {
25002 setState(3536);
25003 match(UNIQUE);
25004 }
25005 break;
25006 default:
25007 throw new NoViableAltException(this);
25008 }
25009 setState(3539);
25010 match(LP_);
25011 setState(3540);
25012 columnName();
25013 setState(3545);
25014 _errHandler.sync(this);
25015 _la = _input.LA(1);
25016 while (_la==COMMA_) {
25017 {
25018 {
25019 setState(3541);
25020 match(COMMA_);
25021 setState(3542);
25022 columnName();
25023 }
25024 }
25025 setState(3547);
25026 _errHandler.sync(this);
25027 _la = _input.LA(1);
25028 }
25029 setState(3548);
25030 match(RP_);
25031 }
25032 break;
25033 case CHECK:
25034 enterOuterAlt(_localctx, 2);
25035 {
25036 setState(3550);
25037 match(CHECK);
25038 setState(3551);
25039 expr(0);
25040 }
25041 break;
25042 default:
25043 throw new NoViableAltException(this);
25044 }
25045 }
25046 catch (RecognitionException re) {
25047 _localctx.exception = re;
25048 _errHandler.reportError(this, re);
25049 _errHandler.recover(this, re);
25050 }
25051 finally {
25052 exitRule();
25053 }
25054 return _localctx;
25055 }
25056
25057 public static class SetVariableContext extends ParserRuleContext {
25058 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
25059 public VariableNameContext variableName() {
25060 return getRuleContext(VariableNameContext.class,0);
25061 }
25062 public SetVariableClauseContext setVariableClause() {
25063 return getRuleContext(SetVariableClauseContext.class,0);
25064 }
25065 public SetVariableContext(ParserRuleContext parent, int invokingState) {
25066 super(parent, invokingState);
25067 }
25068 @Override public int getRuleIndex() { return RULE_setVariable; }
25069 @Override
25070 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25071 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetVariable(this);
25072 else return visitor.visitChildren(this);
25073 }
25074 }
25075
25076 public final SetVariableContext setVariable() throws RecognitionException {
25077 SetVariableContext _localctx = new SetVariableContext(_ctx, getState());
25078 enterRule(_localctx, 522, RULE_setVariable);
25079 try {
25080 enterOuterAlt(_localctx, 1);
25081 {
25082 setState(3554);
25083 match(SET);
25084 setState(3555);
25085 variableName();
25086 setState(3556);
25087 setVariableClause();
25088 }
25089 }
25090 catch (RecognitionException re) {
25091 _localctx.exception = re;
25092 _errHandler.reportError(this, re);
25093 _errHandler.recover(this, re);
25094 }
25095 finally {
25096 exitRule();
25097 }
25098 return _localctx;
25099 }
25100
25101 public static class SetVariableClauseContext extends ParserRuleContext {
25102 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
25103 public ExprContext expr() {
25104 return getRuleContext(ExprContext.class,0);
25105 }
25106 public List<IdentifierContext> identifier() {
25107 return getRuleContexts(IdentifierContext.class);
25108 }
25109 public IdentifierContext identifier(int i) {
25110 return getRuleContext(IdentifierContext.class,i);
25111 }
25112 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
25113 public TerminalNode DOT_(int i) {
25114 return getToken(SQLServerStatementParser.DOT_, i);
25115 }
25116 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
25117 public CompoundOperationContext compoundOperation() {
25118 return getRuleContext(CompoundOperationContext.class,0);
25119 }
25120 public CursorVariableContext cursorVariable() {
25121 return getRuleContext(CursorVariableContext.class,0);
25122 }
25123 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
25124 public SelectContext select() {
25125 return getRuleContext(SelectContext.class,0);
25126 }
25127 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
25128 public SetVariableClauseContext(ParserRuleContext parent, int invokingState) {
25129 super(parent, invokingState);
25130 }
25131 @Override public int getRuleIndex() { return RULE_setVariableClause; }
25132 @Override
25133 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25134 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetVariableClause(this);
25135 else return visitor.visitChildren(this);
25136 }
25137 }
25138
25139 public final SetVariableClauseContext setVariableClause() throws RecognitionException {
25140 SetVariableClauseContext _localctx = new SetVariableClauseContext(_ctx, getState());
25141 enterRule(_localctx, 524, RULE_setVariableClause);
25142 int _la;
25143 try {
25144 setState(3581);
25145 _errHandler.sync(this);
25146 switch ( getInterpreter().adaptivePredict(_input,353,_ctx) ) {
25147 case 1:
25148 enterOuterAlt(_localctx, 1);
25149 {
25150 setState(3560);
25151 _errHandler.sync(this);
25152 _la = _input.LA(1);
25153 if (_la==DOT_) {
25154 {
25155 setState(3558);
25156 match(DOT_);
25157 setState(3559);
25158 identifier();
25159 }
25160 }
25161
25162 setState(3562);
25163 match(EQ_);
25164 setState(3569);
25165 _errHandler.sync(this);
25166 switch ( getInterpreter().adaptivePredict(_input,352,_ctx) ) {
25167 case 1:
25168 {
25169 setState(3563);
25170 expr(0);
25171 }
25172 break;
25173 case 2:
25174 {
25175 setState(3564);
25176 identifier();
25177 setState(3565);
25178 match(DOT_);
25179 setState(3566);
25180 identifier();
25181 }
25182 break;
25183 case 3:
25184 {
25185 setState(3568);
25186 match(NCHAR_TEXT);
25187 }
25188 break;
25189 }
25190 }
25191 break;
25192 case 2:
25193 enterOuterAlt(_localctx, 2);
25194 {
25195 setState(3571);
25196 compoundOperation();
25197 setState(3572);
25198 expr(0);
25199 }
25200 break;
25201 case 3:
25202 enterOuterAlt(_localctx, 3);
25203 {
25204 setState(3574);
25205 match(EQ_);
25206 setState(3575);
25207 cursorVariable();
25208 }
25209 break;
25210 case 4:
25211 enterOuterAlt(_localctx, 4);
25212 {
25213 setState(3576);
25214 match(EQ_);
25215 setState(3577);
25216 match(LP_);
25217 setState(3578);
25218 select();
25219 setState(3579);
25220 match(RP_);
25221 }
25222 break;
25223 }
25224 }
25225 catch (RecognitionException re) {
25226 _localctx.exception = re;
25227 _errHandler.reportError(this, re);
25228 _errHandler.recover(this, re);
25229 }
25230 finally {
25231 exitRule();
25232 }
25233 return _localctx;
25234 }
25235
25236 public static class CursorVariableContext extends ParserRuleContext {
25237 public VariableNameContext variableName() {
25238 return getRuleContext(VariableNameContext.class,0);
25239 }
25240 public TerminalNode CURSOR() { return getToken(SQLServerStatementParser.CURSOR, 0); }
25241 public CursorClauseContext cursorClause() {
25242 return getRuleContext(CursorClauseContext.class,0);
25243 }
25244 public List<TerminalNode> FOR() { return getTokens(SQLServerStatementParser.FOR); }
25245 public TerminalNode FOR(int i) {
25246 return getToken(SQLServerStatementParser.FOR, i);
25247 }
25248 public SelectContext select() {
25249 return getRuleContext(SelectContext.class,0);
25250 }
25251 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
25252 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
25253 public TerminalNode OF() { return getToken(SQLServerStatementParser.OF, 0); }
25254 public List<NameContext> name() {
25255 return getRuleContexts(NameContext.class);
25256 }
25257 public NameContext name(int i) {
25258 return getRuleContext(NameContext.class,i);
25259 }
25260 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25261 public TerminalNode COMMA_(int i) {
25262 return getToken(SQLServerStatementParser.COMMA_, i);
25263 }
25264 public CursorVariableContext(ParserRuleContext parent, int invokingState) {
25265 super(parent, invokingState);
25266 }
25267 @Override public int getRuleIndex() { return RULE_cursorVariable; }
25268 @Override
25269 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25270 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorVariable(this);
25271 else return visitor.visitChildren(this);
25272 }
25273 }
25274
25275 public final CursorVariableContext cursorVariable() throws RecognitionException {
25276 CursorVariableContext _localctx = new CursorVariableContext(_ctx, getState());
25277 enterRule(_localctx, 526, RULE_cursorVariable);
25278 int _la;
25279 try {
25280 setState(3602);
25281 _errHandler.sync(this);
25282 switch (_input.LA(1)) {
25283 case TRUNCATE:
25284 case SCHEMA:
25285 case COLUMNS:
25286 case PRECISION:
25287 case FUNCTION:
25288 case TRIGGER:
25289 case CAST:
25290 case SUBSTRING:
25291 case OFF:
25292 case GROUP:
25293 case LIMIT:
25294 case OFFSET:
25295 case SAVEPOINT:
25296 case BOOLEAN:
25297 case ARRAY:
25298 case DATE:
25299 case LOCALTIME:
25300 case LOCALTIMESTAMP:
25301 case QUARTER:
25302 case WEEK:
25303 case DAY:
25304 case SECOND:
25305 case MICROSECOND:
25306 case MAX:
25307 case MIN:
25308 case SUM:
25309 case COUNT:
25310 case AVG:
25311 case ENABLE:
25312 case DISABLE:
25313 case INSTANCE:
25314 case DO:
25315 case DEFINER:
25316 case SQL:
25317 case CASCADED:
25318 case LOCAL:
25319 case NEXT:
25320 case NAME:
25321 case INTEGER:
25322 case TYPE:
25323 case TEXT:
25324 case VIEWS:
25325 case READ_ONLY:
25326 case DATABASE:
25327 case RETURNS:
25328 case DATEPART:
25329 case PASSWORD:
25330 case BINARY:
25331 case HIDDEN_:
25332 case MOD:
25333 case PARTITION:
25334 case PARTITIONS:
25335 case TOP:
25336 case ROW:
25337 case ROWS:
25338 case XOR:
25339 case ALWAYS:
25340 case ROLE:
25341 case START:
25342 case ALGORITHM:
25343 case AUTO:
25344 case BLOCKERS:
25345 case CLUSTERED:
25346 case NONCLUSTERED:
25347 case COLUMNSTORE:
25348 case CONTENT:
25349 case YEARS:
25350 case MONTHS:
25351 case WEEKS:
25352 case DAYS:
25353 case MINUTES:
25354 case DENY:
25355 case DETERMINISTIC:
25356 case DISTRIBUTION:
25357 case DOCUMENT:
25358 case DURABILITY:
25359 case ENCRYPTED:
25360 case FILESTREAM:
25361 case FILETABLE:
25362 case FILLFACTOR:
25363 case FOLLOWING:
25364 case HASH:
25365 case HEAP:
25366 case INBOUND:
25367 case OUTBOUND:
25368 case UNBOUNDED:
25369 case INFINITE:
25370 case LOGIN:
25371 case MASKED:
25372 case MAXDOP:
25373 case MOVE:
25374 case NOCHECK:
25375 case OBJECT:
25376 case ONLINE:
25377 case OVER:
25378 case PAGE:
25379 case PAUSED:
25380 case PERIOD:
25381 case PERSISTED:
25382 case PRECEDING:
25383 case RANDOMIZED:
25384 case RANGE:
25385 case REBUILD:
25386 case REPLICATE:
25387 case REPLICATION:
25388 case RESUMABLE:
25389 case ROWGUIDCOL:
25390 case SAVE:
25391 case SELF:
25392 case SPARSE:
25393 case SWITCH:
25394 case TRAN:
25395 case TRANCOUNT:
25396 case CONTROL:
25397 case CONCAT:
25398 case TAKE:
25399 case OWNERSHIP:
25400 case DEFINITION:
25401 case APPLICATION:
25402 case ASSEMBLY:
25403 case SYMMETRIC:
25404 case ASYMMETRIC:
25405 case SERVER:
25406 case RECEIVE:
25407 case CHANGE:
25408 case TRACE:
25409 case TRACKING:
25410 case RESOURCES:
25411 case SETTINGS:
25412 case STATE:
25413 case AVAILABILITY:
25414 case CREDENTIAL:
25415 case ENDPOINT:
25416 case EVENT:
25417 case NOTIFICATION:
25418 case LINKED:
25419 case AUDIT:
25420 case DDL:
25421 case XML:
25422 case IMPERSONATE:
25423 case SECURABLES:
25424 case AUTHENTICATE:
25425 case EXTERNAL:
25426 case ACCESS:
25427 case ADMINISTER:
25428 case BULK:
25429 case OPERATIONS:
25430 case UNSAFE:
25431 case SHUTDOWN:
25432 case SCOPED:
25433 case CONFIGURATION:
25434 case DATASPACE:
25435 case SERVICE:
25436 case CERTIFICATE:
25437 case CONTRACT:
25438 case ENCRYPTION:
25439 case MASTER:
25440 case DATA:
25441 case SOURCE:
25442 case FILE:
25443 case FORMAT:
25444 case LIBRARY:
25445 case FULLTEXT:
25446 case MASK:
25447 case UNMASK:
25448 case MESSAGE:
25449 case REMOTE:
25450 case BINDING:
25451 case ROUTE:
25452 case SECURITY:
25453 case POLICY:
25454 case AGGREGATE:
25455 case QUEUE:
25456 case RULE:
25457 case SYNONYM:
25458 case COLLECTION:
25459 case SCRIPT:
25460 case KILL:
25461 case BACKUP:
25462 case LOG:
25463 case SHOWPLAN:
25464 case SUBSCRIBE:
25465 case QUERY:
25466 case NOTIFICATIONS:
25467 case CHECKPOINT:
25468 case SEQUENCE:
25469 case ABORT_AFTER_WAIT:
25470 case ALLOW_PAGE_LOCKS:
25471 case ALLOW_ROW_LOCKS:
25472 case ALL_SPARSE_COLUMNS:
25473 case BUCKET_COUNT:
25474 case COLUMNSTORE_ARCHIVE:
25475 case COLUMN_ENCRYPTION_KEY:
25476 case COLUMN_SET:
25477 case COMPRESSION_DELAY:
25478 case DATABASE_DEAULT:
25479 case DATA_COMPRESSION:
25480 case DATA_CONSISTENCY_CHECK:
25481 case ENCRYPTION_TYPE:
25482 case SYSTEM_TIME:
25483 case SYSTEM_VERSIONING:
25484 case TEXTIMAGE_ON:
25485 case WAIT_AT_LOW_PRIORITY:
25486 case STATISTICS_INCREMENTAL:
25487 case STATISTICS_NORECOMPUTE:
25488 case ROUND_ROBIN:
25489 case SCHEMA_AND_DATA:
25490 case SCHEMA_ONLY:
25491 case SORT_IN_TEMPDB:
25492 case IGNORE_DUP_KEY:
25493 case IMPLICIT_TRANSACTIONS:
25494 case MAX_DURATION:
25495 case MEMORY_OPTIMIZED:
25496 case MIGRATION_STATE:
25497 case PAD_INDEX:
25498 case REMOTE_DATA_ARCHIVE:
25499 case FILESTREAM_ON:
25500 case FILETABLE_COLLATE_FILENAME:
25501 case FILETABLE_DIRECTORY:
25502 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
25503 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
25504 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
25505 case FILTER_PREDICATE:
25506 case HISTORY_RETENTION_PERIOD:
25507 case HISTORY_TABLE:
25508 case LOCK_ESCALATION:
25509 case DROP_EXISTING:
25510 case ROW_NUMBER:
25511 case FIRST:
25512 case DATETIME2:
25513 case OUTPUT:
25514 case INSERTED:
25515 case DELETED:
25516 case FILENAME:
25517 case MAXSIZE:
25518 case FILEGROWTH:
25519 case UNLIMITED:
25520 case KB:
25521 case MB:
25522 case GB:
25523 case TB:
25524 case MEMORY_OPTIMIZED_DATA:
25525 case FILEGROUP:
25526 case NON_TRANSACTED_ACCESS:
25527 case DB_CHAINING:
25528 case TRUSTWORTHY:
25529 case FORWARD_ONLY:
25530 case KEYSET:
25531 case FAST_FORWARD:
25532 case SCROLL_LOCKS:
25533 case OPTIMISTIC:
25534 case TYPE_WARNING:
25535 case SCHEMABINDING:
25536 case CALLER:
25537 case OWNER:
25538 case SNAPSHOT:
25539 case REPEATABLE:
25540 case SERIALIZABLE:
25541 case NATIVE_COMPILATION:
25542 case VIEW_METADATA:
25543 case INSTEAD:
25544 case APPEND:
25545 case INCREMENT:
25546 case CACHE:
25547 case MINVALUE:
25548 case MAXVALUE:
25549 case RESTART:
25550 case LOB_COMPACTION:
25551 case COMPRESS_ALL_ROW_GROUPS:
25552 case REORGANIZE:
25553 case RESUME:
25554 case PAUSE:
25555 case ABORT:
25556 case ACCELERATED_DATABASE_RECOVERY:
25557 case PERSISTENT_VERSION_STORE_FILEGROUP:
25558 case IMMEDIATE:
25559 case NO_WAIT:
25560 case TARGET_RECOVERY_TIME:
25561 case SECONDS:
25562 case HONOR_BROKER_PRIORITY:
25563 case ERROR_BROKER_CONVERSATIONS:
25564 case NEW_BROKER:
25565 case DISABLE_BROKER:
25566 case ENABLE_BROKER:
25567 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
25568 case READ_COMMITTED_SNAPSHOT:
25569 case ALLOW_SNAPSHOT_ISOLATION:
25570 case RECURSIVE_TRIGGERS:
25571 case QUOTED_IDENTIFIER:
25572 case NUMERIC_ROUNDABORT:
25573 case CONCAT_NULL_YIELDS_NULL:
25574 case COMPATIBILITY_LEVEL:
25575 case ARITHABORT:
25576 case ANSI_WARNINGS:
25577 case ANSI_PADDING:
25578 case ANSI_NULLS:
25579 case ANSI_NULL_DEFAULT:
25580 case PAGE_VERIFY:
25581 case CHECKSUM:
25582 case TORN_PAGE_DETECTION:
25583 case BULK_LOGGED:
25584 case RECOVERY:
25585 case TOTAL_EXECUTION_CPU_TIME_MS:
25586 case TOTAL_COMPILE_CPU_TIME_MS:
25587 case STALE_CAPTURE_POLICY_THRESHOLD:
25588 case EXECUTION_COUNT:
25589 case QUERY_CAPTURE_POLICY:
25590 case WAIT_STATS_CAPTURE_MODE:
25591 case MAX_PLANS_PER_QUERY:
25592 case QUERY_CAPTURE_MODE:
25593 case SIZE_BASED_CLEANUP_MODE:
25594 case INTERVAL_LENGTH_MINUTES:
25595 case MAX_STORAGE_SIZE_MB:
25596 case DATA_FLUSH_INTERVAL_SECONDS:
25597 case CLEANUP_POLICY:
25598 case CUSTOM:
25599 case STALE_QUERY_THRESHOLD_DAYS:
25600 case OPERATION_MODE:
25601 case QUERY_STORE:
25602 case CURSOR_DEFAULT:
25603 case GLOBAL:
25604 case CURSOR_CLOSE_ON_COMMIT:
25605 case HOURS:
25606 case CHANGE_RETENTION:
25607 case AUTO_CLEANUP:
25608 case CHANGE_TRACKING:
25609 case AUTOMATIC_TUNING:
25610 case FORCE_LAST_GOOD_PLAN:
25611 case AUTO_UPDATE_STATISTICS_ASYNC:
25612 case AUTO_UPDATE_STATISTICS:
25613 case AUTO_SHRINK:
25614 case AUTO_CREATE_STATISTICS:
25615 case INCREMENTAL:
25616 case AUTO_CLOSE:
25617 case DATA_RETENTION:
25618 case TEMPORAL_HISTORY_RETENTION:
25619 case EDITION:
25620 case MIXED_PAGE_ALLOCATION:
25621 case DISABLED:
25622 case ALLOWED:
25623 case HADR:
25624 case MULTI_USER:
25625 case RESTRICTED_USER:
25626 case SINGLE_USER:
25627 case OFFLINE:
25628 case EMERGENCY:
25629 case SUSPEND:
25630 case DATE_CORRELATION_OPTIMIZATION:
25631 case ELASTIC_POOL:
25632 case SERVICE_OBJECTIVE:
25633 case DATABASE_NAME:
25634 case ALLOW_CONNECTIONS:
25635 case GEO:
25636 case NAMED:
25637 case DATEFIRST:
25638 case BACKUP_STORAGE_REDUNDANCY:
25639 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
25640 case SECONDARY:
25641 case FAILOVER:
25642 case DEFAULT_FULLTEXT_LANGUAGE:
25643 case DEFAULT_LANGUAGE:
25644 case INLINE:
25645 case NESTED_TRIGGERS:
25646 case TRANSFORM_NOISE_WORDS:
25647 case TWO_DIGIT_YEAR_CUTOFF:
25648 case PERSISTENT_LOG_BUFFER:
25649 case DIRECTORY_NAME:
25650 case DATEFORMAT:
25651 case DELAYED_DURABILITY:
25652 case AUTHORIZATION:
25653 case TRANSFER:
25654 case PROVIDER:
25655 case SEARCH:
25656 case MEMBER:
25657 case IDENTIFIER_:
25658 case DELIMITED_IDENTIFIER_:
25659 enterOuterAlt(_localctx, 1);
25660 {
25661 setState(3583);
25662 variableName();
25663 }
25664 break;
25665 case CURSOR:
25666 enterOuterAlt(_localctx, 2);
25667 {
25668 setState(3584);
25669 match(CURSOR);
25670 setState(3585);
25671 cursorClause();
25672 setState(3586);
25673 match(FOR);
25674 setState(3587);
25675 select();
25676 {
25677 setState(3588);
25678 match(FOR);
25679 setState(3600);
25680 _errHandler.sync(this);
25681 switch (_input.LA(1)) {
25682 case READ_ONLY:
25683 {
25684 setState(3589);
25685 match(READ_ONLY);
25686 }
25687 break;
25688 case UPDATE:
25689 {
25690 setState(3590);
25691 match(UPDATE);
25692 {
25693 setState(3591);
25694 match(OF);
25695 setState(3592);
25696 name();
25697 setState(3597);
25698 _errHandler.sync(this);
25699 _la = _input.LA(1);
25700 while (_la==COMMA_) {
25701 {
25702 {
25703 setState(3593);
25704 match(COMMA_);
25705 setState(3594);
25706 name();
25707 }
25708 }
25709 setState(3599);
25710 _errHandler.sync(this);
25711 _la = _input.LA(1);
25712 }
25713 }
25714 }
25715 break;
25716 default:
25717 throw new NoViableAltException(this);
25718 }
25719 }
25720 }
25721 break;
25722 default:
25723 throw new NoViableAltException(this);
25724 }
25725 }
25726 catch (RecognitionException re) {
25727 _localctx.exception = re;
25728 _errHandler.reportError(this, re);
25729 _errHandler.recover(this, re);
25730 }
25731 finally {
25732 exitRule();
25733 }
25734 return _localctx;
25735 }
25736
25737 public static class CursorClauseContext extends ParserRuleContext {
25738 public TerminalNode TYPE_WARNING() { return getToken(SQLServerStatementParser.TYPE_WARNING, 0); }
25739 public TerminalNode FORWARD_ONLY() { return getToken(SQLServerStatementParser.FORWARD_ONLY, 0); }
25740 public TerminalNode SCROLL() { return getToken(SQLServerStatementParser.SCROLL, 0); }
25741 public TerminalNode STATIC() { return getToken(SQLServerStatementParser.STATIC, 0); }
25742 public TerminalNode KEYSET() { return getToken(SQLServerStatementParser.KEYSET, 0); }
25743 public TerminalNode DYNAMIC() { return getToken(SQLServerStatementParser.DYNAMIC, 0); }
25744 public TerminalNode FAST_FORWARD() { return getToken(SQLServerStatementParser.FAST_FORWARD, 0); }
25745 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
25746 public TerminalNode SCROLL_LOCKS() { return getToken(SQLServerStatementParser.SCROLL_LOCKS, 0); }
25747 public TerminalNode OPTIMISTIC() { return getToken(SQLServerStatementParser.OPTIMISTIC, 0); }
25748 public CursorClauseContext(ParserRuleContext parent, int invokingState) {
25749 super(parent, invokingState);
25750 }
25751 @Override public int getRuleIndex() { return RULE_cursorClause; }
25752 @Override
25753 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25754 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorClause(this);
25755 else return visitor.visitChildren(this);
25756 }
25757 }
25758
25759 public final CursorClauseContext cursorClause() throws RecognitionException {
25760 CursorClauseContext _localctx = new CursorClauseContext(_ctx, getState());
25761 enterRule(_localctx, 528, RULE_cursorClause);
25762 int _la;
25763 try {
25764 enterOuterAlt(_localctx, 1);
25765 {
25766 setState(3605);
25767 _errHandler.sync(this);
25768 _la = _input.LA(1);
25769 if (_la==FORWARD_ONLY || _la==SCROLL) {
25770 {
25771 setState(3604);
25772 _la = _input.LA(1);
25773 if ( !(_la==FORWARD_ONLY || _la==SCROLL) ) {
25774 _errHandler.recoverInline(this);
25775 }
25776 else {
25777 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
25778 _errHandler.reportMatch(this);
25779 consume();
25780 }
25781 }
25782 }
25783
25784 setState(3608);
25785 _errHandler.sync(this);
25786 _la = _input.LA(1);
25787 if (((((_la - 497)) & ~0x3f) == 0 && ((1L << (_la - 497)) & ((1L << (STATIC - 497)) | (1L << (KEYSET - 497)) | (1L << (DYNAMIC - 497)) | (1L << (FAST_FORWARD - 497)))) != 0)) {
25788 {
25789 setState(3607);
25790 _la = _input.LA(1);
25791 if ( !(((((_la - 497)) & ~0x3f) == 0 && ((1L << (_la - 497)) & ((1L << (STATIC - 497)) | (1L << (KEYSET - 497)) | (1L << (DYNAMIC - 497)) | (1L << (FAST_FORWARD - 497)))) != 0)) ) {
25792 _errHandler.recoverInline(this);
25793 }
25794 else {
25795 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
25796 _errHandler.reportMatch(this);
25797 consume();
25798 }
25799 }
25800 }
25801
25802 setState(3611);
25803 _errHandler.sync(this);
25804 _la = _input.LA(1);
25805 if (_la==READ_ONLY || _la==SCROLL_LOCKS || _la==OPTIMISTIC) {
25806 {
25807 setState(3610);
25808 _la = _input.LA(1);
25809 if ( !(_la==READ_ONLY || _la==SCROLL_LOCKS || _la==OPTIMISTIC) ) {
25810 _errHandler.recoverInline(this);
25811 }
25812 else {
25813 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
25814 _errHandler.reportMatch(this);
25815 consume();
25816 }
25817 }
25818 }
25819
25820 setState(3614);
25821 _errHandler.sync(this);
25822 _la = _input.LA(1);
25823 if (_la==TYPE_WARNING) {
25824 {
25825 setState(3613);
25826 match(TYPE_WARNING);
25827 }
25828 }
25829
25830 }
25831 }
25832 catch (RecognitionException re) {
25833 _localctx.exception = re;
25834 _errHandler.reportError(this, re);
25835 _errHandler.recover(this, re);
25836 }
25837 finally {
25838 exitRule();
25839 }
25840 return _localctx;
25841 }
25842
25843 public static class CompoundOperationContext extends ParserRuleContext {
25844 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
25845 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
25846 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
25847 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
25848 public TerminalNode SLASH_() { return getToken(SQLServerStatementParser.SLASH_, 0); }
25849 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
25850 public TerminalNode AMPERSAND_() { return getToken(SQLServerStatementParser.AMPERSAND_, 0); }
25851 public TerminalNode CARET_() { return getToken(SQLServerStatementParser.CARET_, 0); }
25852 public TerminalNode VERTICAL_BAR_() { return getToken(SQLServerStatementParser.VERTICAL_BAR_, 0); }
25853 public CompoundOperationContext(ParserRuleContext parent, int invokingState) {
25854 super(parent, invokingState);
25855 }
25856 @Override public int getRuleIndex() { return RULE_compoundOperation; }
25857 @Override
25858 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25859 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompoundOperation(this);
25860 else return visitor.visitChildren(this);
25861 }
25862 }
25863
25864 public final CompoundOperationContext compoundOperation() throws RecognitionException {
25865 CompoundOperationContext _localctx = new CompoundOperationContext(_ctx, getState());
25866 enterRule(_localctx, 530, RULE_compoundOperation);
25867 try {
25868 setState(3632);
25869 _errHandler.sync(this);
25870 switch (_input.LA(1)) {
25871 case PLUS_:
25872 enterOuterAlt(_localctx, 1);
25873 {
25874 setState(3616);
25875 match(PLUS_);
25876 setState(3617);
25877 match(EQ_);
25878 }
25879 break;
25880 case MINUS_:
25881 enterOuterAlt(_localctx, 2);
25882 {
25883 setState(3618);
25884 match(MINUS_);
25885 setState(3619);
25886 match(EQ_);
25887 }
25888 break;
25889 case ASTERISK_:
25890 enterOuterAlt(_localctx, 3);
25891 {
25892 setState(3620);
25893 match(ASTERISK_);
25894 setState(3621);
25895 match(EQ_);
25896 }
25897 break;
25898 case SLASH_:
25899 enterOuterAlt(_localctx, 4);
25900 {
25901 setState(3622);
25902 match(SLASH_);
25903 setState(3623);
25904 match(EQ_);
25905 }
25906 break;
25907 case MOD_:
25908 enterOuterAlt(_localctx, 5);
25909 {
25910 setState(3624);
25911 match(MOD_);
25912 setState(3625);
25913 match(EQ_);
25914 }
25915 break;
25916 case AMPERSAND_:
25917 enterOuterAlt(_localctx, 6);
25918 {
25919 setState(3626);
25920 match(AMPERSAND_);
25921 setState(3627);
25922 match(EQ_);
25923 }
25924 break;
25925 case CARET_:
25926 enterOuterAlt(_localctx, 7);
25927 {
25928 setState(3628);
25929 match(CARET_);
25930 setState(3629);
25931 match(EQ_);
25932 }
25933 break;
25934 case VERTICAL_BAR_:
25935 enterOuterAlt(_localctx, 8);
25936 {
25937 setState(3630);
25938 match(VERTICAL_BAR_);
25939 setState(3631);
25940 match(EQ_);
25941 }
25942 break;
25943 default:
25944 throw new NoViableAltException(this);
25945 }
25946 }
25947 catch (RecognitionException re) {
25948 _localctx.exception = re;
25949 _errHandler.reportError(this, re);
25950 _errHandler.recover(this, re);
25951 }
25952 finally {
25953 exitRule();
25954 }
25955 return _localctx;
25956 }
25957
25958 public static class FuncParametersContext extends ParserRuleContext {
25959 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
25960 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
25961 public List<VariableNameContext> variableName() {
25962 return getRuleContexts(VariableNameContext.class);
25963 }
25964 public VariableNameContext variableName(int i) {
25965 return getRuleContext(VariableNameContext.class,i);
25966 }
25967 public List<DataTypeContext> dataType() {
25968 return getRuleContexts(DataTypeContext.class);
25969 }
25970 public DataTypeContext dataType(int i) {
25971 return getRuleContext(DataTypeContext.class,i);
25972 }
25973 public List<TerminalNode> AS() { return getTokens(SQLServerStatementParser.AS); }
25974 public TerminalNode AS(int i) {
25975 return getToken(SQLServerStatementParser.AS, i);
25976 }
25977 public List<OwnerContext> owner() {
25978 return getRuleContexts(OwnerContext.class);
25979 }
25980 public OwnerContext owner(int i) {
25981 return getRuleContext(OwnerContext.class,i);
25982 }
25983 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
25984 public TerminalNode DOT_(int i) {
25985 return getToken(SQLServerStatementParser.DOT_, i);
25986 }
25987 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
25988 public TerminalNode EQ_(int i) {
25989 return getToken(SQLServerStatementParser.EQ_, i);
25990 }
25991 public List<IgnoredIdentifierContext> ignoredIdentifier() {
25992 return getRuleContexts(IgnoredIdentifierContext.class);
25993 }
25994 public IgnoredIdentifierContext ignoredIdentifier(int i) {
25995 return getRuleContext(IgnoredIdentifierContext.class,i);
25996 }
25997 public List<TerminalNode> READONLY() { return getTokens(SQLServerStatementParser.READONLY); }
25998 public TerminalNode READONLY(int i) {
25999 return getToken(SQLServerStatementParser.READONLY, i);
26000 }
26001 public FuncParametersContext(ParserRuleContext parent, int invokingState) {
26002 super(parent, invokingState);
26003 }
26004 @Override public int getRuleIndex() { return RULE_funcParameters; }
26005 @Override
26006 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26007 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncParameters(this);
26008 else return visitor.visitChildren(this);
26009 }
26010 }
26011
26012 public final FuncParametersContext funcParameters() throws RecognitionException {
26013 FuncParametersContext _localctx = new FuncParametersContext(_ctx, getState());
26014 enterRule(_localctx, 532, RULE_funcParameters);
26015 int _la;
26016 try {
26017 enterOuterAlt(_localctx, 1);
26018 {
26019 setState(3634);
26020 match(LP_);
26021 setState(3654);
26022 _errHandler.sync(this);
26023 _la = _input.LA(1);
26024 while (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (QUARTER - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)) | (1L << (ROW - 184)) | (1L << (ROWS - 184)) | (1L << (XOR - 184)) | (1L << (ALWAYS - 184)) | (1L << (ROLE - 184)) | (1L << (START - 184)) | (1L << (ALGORITHM - 184)) | (1L << (AUTO - 184)) | (1L << (BLOCKERS - 184)) | (1L << (CLUSTERED - 184)) | (1L << (NONCLUSTERED - 184)) | (1L << (COLUMNSTORE - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)) | (1L << (RANDOMIZED - 248)) | (1L << (RANGE - 248)) | (1L << (REBUILD - 248)) | (1L << (REPLICATE - 248)) | (1L << (REPLICATION - 248)) | (1L << (RESUMABLE - 248)) | (1L << (ROWGUIDCOL - 248)) | (1L << (SAVE - 248)) | (1L << (SELF - 248)) | (1L << (SPARSE - 248)) | (1L << (SWITCH - 248)) | (1L << (TRAN - 248)) | (1L << (TRANCOUNT - 248)) | (1L << (CONTROL - 248)) | (1L << (CONCAT - 248)) | (1L << (TAKE - 248)) | (1L << (OWNERSHIP - 248)) | (1L << (DEFINITION - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)) | (1L << (DATA - 312)) | (1L << (SOURCE - 312)) | (1L << (FILE - 312)) | (1L << (FORMAT - 312)) | (1L << (LIBRARY - 312)) | (1L << (FULLTEXT - 312)) | (1L << (MASK - 312)) | (1L << (UNMASK - 312)) | (1L << (MESSAGE - 312)) | (1L << (REMOTE - 312)) | (1L << (BINDING - 312)) | (1L << (ROUTE - 312)) | (1L << (SECURITY - 312)) | (1L << (POLICY - 312)) | (1L << (AGGREGATE - 312)) | (1L << (QUEUE - 312)) | (1L << (RULE - 312)) | (1L << (SYNONYM - 312)) | (1L << (COLLECTION - 312)) | (1L << (SCRIPT - 312)) | (1L << (KILL - 312)) | (1L << (BACKUP - 312)) | (1L << (LOG - 312)) | (1L << (SHOWPLAN - 312)) | (1L << (SUBSCRIBE - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILTER_PREDICATE - 376)) | (1L << (HISTORY_RETENTION_PERIOD - 376)) | (1L << (HISTORY_TABLE - 376)) | (1L << (LOCK_ESCALATION - 376)) | (1L << (DROP_EXISTING - 376)) | (1L << (ROW_NUMBER - 376)) | (1L << (FIRST - 376)) | (1L << (DATETIME2 - 376)))) != 0) || ((((_la - 441)) & ~0x3f) == 0 && ((1L << (_la - 441)) & ((1L << (OUTPUT - 441)) | (1L << (INSERTED - 441)) | (1L << (DELETED - 441)) | (1L << (FILENAME - 441)) | (1L << (MAXSIZE - 441)) | (1L << (FILEGROWTH - 441)) | (1L << (UNLIMITED - 441)) | (1L << (KB - 441)) | (1L << (MB - 441)) | (1L << (GB - 441)) | (1L << (TB - 441)) | (1L << (MEMORY_OPTIMIZED_DATA - 441)) | (1L << (FILEGROUP - 441)) | (1L << (NON_TRANSACTED_ACCESS - 441)) | (1L << (DB_CHAINING - 441)) | (1L << (TRUSTWORTHY - 441)) | (1L << (FORWARD_ONLY - 441)) | (1L << (KEYSET - 441)) | (1L << (FAST_FORWARD - 441)) | (1L << (SCROLL_LOCKS - 441)) | (1L << (OPTIMISTIC - 441)) | (1L << (TYPE_WARNING - 441)) | (1L << (SCHEMABINDING - 441)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (CALLER - 505)) | (1L << (OWNER - 505)) | (1L << (SNAPSHOT - 505)) | (1L << (REPEATABLE - 505)) | (1L << (SERIALIZABLE - 505)) | (1L << (NATIVE_COMPILATION - 505)) | (1L << (VIEW_METADATA - 505)) | (1L << (INSTEAD - 505)) | (1L << (APPEND - 505)) | (1L << (INCREMENT - 505)) | (1L << (CACHE - 505)) | (1L << (MINVALUE - 505)) | (1L << (MAXVALUE - 505)) | (1L << (RESTART - 505)) | (1L << (LOB_COMPACTION - 505)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 505)) | (1L << (REORGANIZE - 505)) | (1L << (RESUME - 505)) | (1L << (PAUSE - 505)) | (1L << (ABORT - 505)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 505)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 505)) | (1L << (IMMEDIATE - 505)) | (1L << (NO_WAIT - 505)) | (1L << (TARGET_RECOVERY_TIME - 505)) | (1L << (SECONDS - 505)) | (1L << (HONOR_BROKER_PRIORITY - 505)) | (1L << (ERROR_BROKER_CONVERSATIONS - 505)) | (1L << (NEW_BROKER - 505)) | (1L << (DISABLE_BROKER - 505)) | (1L << (ENABLE_BROKER - 505)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 505)) | (1L << (READ_COMMITTED_SNAPSHOT - 505)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 505)) | (1L << (RECURSIVE_TRIGGERS - 505)) | (1L << (QUOTED_IDENTIFIER - 505)) | (1L << (NUMERIC_ROUNDABORT - 505)) | (1L << (CONCAT_NULL_YIELDS_NULL - 505)) | (1L << (COMPATIBILITY_LEVEL - 505)) | (1L << (ARITHABORT - 505)) | (1L << (ANSI_WARNINGS - 505)) | (1L << (ANSI_PADDING - 505)) | (1L << (ANSI_NULLS - 505)))) != 0) || ((((_la - 569)) & ~0x3f) == 0 && ((1L << (_la - 569)) & ((1L << (ANSI_NULL_DEFAULT - 569)) | (1L << (PAGE_VERIFY - 569)) | (1L << (CHECKSUM - 569)) | (1L << (TORN_PAGE_DETECTION - 569)) | (1L << (BULK_LOGGED - 569)) | (1L << (RECOVERY - 569)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 569)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 569)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 569)) | (1L << (EXECUTION_COUNT - 569)) | (1L << (QUERY_CAPTURE_POLICY - 569)) | (1L << (WAIT_STATS_CAPTURE_MODE - 569)) | (1L << (MAX_PLANS_PER_QUERY - 569)) | (1L << (QUERY_CAPTURE_MODE - 569)) | (1L << (SIZE_BASED_CLEANUP_MODE - 569)) | (1L << (INTERVAL_LENGTH_MINUTES - 569)) | (1L << (MAX_STORAGE_SIZE_MB - 569)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 569)) | (1L << (CLEANUP_POLICY - 569)) | (1L << (CUSTOM - 569)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 569)) | (1L << (OPERATION_MODE - 569)) | (1L << (QUERY_STORE - 569)) | (1L << (CURSOR_DEFAULT - 569)) | (1L << (GLOBAL - 569)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 569)) | (1L << (HOURS - 569)) | (1L << (CHANGE_RETENTION - 569)) | (1L << (AUTO_CLEANUP - 569)) | (1L << (CHANGE_TRACKING - 569)) | (1L << (AUTOMATIC_TUNING - 569)) | (1L << (FORCE_LAST_GOOD_PLAN - 569)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 569)) | (1L << (AUTO_UPDATE_STATISTICS - 569)) | (1L << (AUTO_SHRINK - 569)) | (1L << (AUTO_CREATE_STATISTICS - 569)) | (1L << (INCREMENTAL - 569)) | (1L << (AUTO_CLOSE - 569)) | (1L << (DATA_RETENTION - 569)) | (1L << (TEMPORAL_HISTORY_RETENTION - 569)) | (1L << (EDITION - 569)) | (1L << (MIXED_PAGE_ALLOCATION - 569)) | (1L << (DISABLED - 569)) | (1L << (ALLOWED - 569)) | (1L << (HADR - 569)) | (1L << (MULTI_USER - 569)) | (1L << (RESTRICTED_USER - 569)) | (1L << (SINGLE_USER - 569)) | (1L << (OFFLINE - 569)) | (1L << (EMERGENCY - 569)) | (1L << (SUSPEND - 569)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 569)) | (1L << (ELASTIC_POOL - 569)) | (1L << (SERVICE_OBJECTIVE - 569)) | (1L << (DATABASE_NAME - 569)) | (1L << (ALLOW_CONNECTIONS - 569)) | (1L << (GEO - 569)) | (1L << (NAMED - 569)) | (1L << (DATEFIRST - 569)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 569)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 569)) | (1L << (SECONDARY - 569)) | (1L << (FAILOVER - 569)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 569)))) != 0) || ((((_la - 633)) & ~0x3f) == 0 && ((1L << (_la - 633)) & ((1L << (DEFAULT_LANGUAGE - 633)) | (1L << (INLINE - 633)) | (1L << (NESTED_TRIGGERS - 633)) | (1L << (TRANSFORM_NOISE_WORDS - 633)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 633)) | (1L << (PERSISTENT_LOG_BUFFER - 633)) | (1L << (DIRECTORY_NAME - 633)) | (1L << (DATEFORMAT - 633)) | (1L << (DELAYED_DURABILITY - 633)) | (1L << (AUTHORIZATION - 633)) | (1L << (TRANSFER - 633)) | (1L << (PROVIDER - 633)) | (1L << (SEARCH - 633)) | (1L << (MEMBER - 633)) | (1L << (IDENTIFIER_ - 633)) | (1L << (DELIMITED_IDENTIFIER_ - 633)))) != 0)) {
26025 {
26026 {
26027 setState(3635);
26028 variableName();
26029 setState(3637);
26030 _errHandler.sync(this);
26031 _la = _input.LA(1);
26032 if (_la==AS) {
26033 {
26034 setState(3636);
26035 match(AS);
26036 }
26037 }
26038
26039 setState(3642);
26040 _errHandler.sync(this);
26041 switch ( getInterpreter().adaptivePredict(_input,363,_ctx) ) {
26042 case 1:
26043 {
26044 setState(3639);
26045 owner();
26046 setState(3640);
26047 match(DOT_);
26048 }
26049 break;
26050 }
26051 setState(3644);
26052 dataType();
26053 setState(3647);
26054 _errHandler.sync(this);
26055 _la = _input.LA(1);
26056 if (_la==EQ_) {
26057 {
26058 setState(3645);
26059 match(EQ_);
26060 setState(3646);
26061 ignoredIdentifier();
26062 }
26063 }
26064
26065 setState(3650);
26066 _errHandler.sync(this);
26067 _la = _input.LA(1);
26068 if (_la==READONLY) {
26069 {
26070 setState(3649);
26071 match(READONLY);
26072 }
26073 }
26074
26075 }
26076 }
26077 setState(3656);
26078 _errHandler.sync(this);
26079 _la = _input.LA(1);
26080 }
26081 setState(3657);
26082 match(RP_);
26083 }
26084 }
26085 catch (RecognitionException re) {
26086 _localctx.exception = re;
26087 _errHandler.reportError(this, re);
26088 _errHandler.recover(this, re);
26089 }
26090 finally {
26091 exitRule();
26092 }
26093 return _localctx;
26094 }
26095
26096 public static class FuncReturnsContext extends ParserRuleContext {
26097 public FuncScalarReturnContext funcScalarReturn() {
26098 return getRuleContext(FuncScalarReturnContext.class,0);
26099 }
26100 public FuncInlineReturnContext funcInlineReturn() {
26101 return getRuleContext(FuncInlineReturnContext.class,0);
26102 }
26103 public FuncMutiReturnContext funcMutiReturn() {
26104 return getRuleContext(FuncMutiReturnContext.class,0);
26105 }
26106 public FuncReturnsContext(ParserRuleContext parent, int invokingState) {
26107 super(parent, invokingState);
26108 }
26109 @Override public int getRuleIndex() { return RULE_funcReturns; }
26110 @Override
26111 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26112 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncReturns(this);
26113 else return visitor.visitChildren(this);
26114 }
26115 }
26116
26117 public final FuncReturnsContext funcReturns() throws RecognitionException {
26118 FuncReturnsContext _localctx = new FuncReturnsContext(_ctx, getState());
26119 enterRule(_localctx, 534, RULE_funcReturns);
26120 try {
26121 setState(3662);
26122 _errHandler.sync(this);
26123 switch ( getInterpreter().adaptivePredict(_input,367,_ctx) ) {
26124 case 1:
26125 enterOuterAlt(_localctx, 1);
26126 {
26127 setState(3659);
26128 funcScalarReturn();
26129 }
26130 break;
26131 case 2:
26132 enterOuterAlt(_localctx, 2);
26133 {
26134 setState(3660);
26135 funcInlineReturn();
26136 }
26137 break;
26138 case 3:
26139 enterOuterAlt(_localctx, 3);
26140 {
26141 setState(3661);
26142 funcMutiReturn();
26143 }
26144 break;
26145 }
26146 }
26147 catch (RecognitionException re) {
26148 _localctx.exception = re;
26149 _errHandler.reportError(this, re);
26150 _errHandler.recover(this, re);
26151 }
26152 finally {
26153 exitRule();
26154 }
26155 return _localctx;
26156 }
26157
26158 public static class FuncMutiReturnContext extends ParserRuleContext {
26159 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
26160 public VariableNameContext variableName() {
26161 return getRuleContext(VariableNameContext.class,0);
26162 }
26163 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
26164 public CreateTableDefinitionsContext createTableDefinitions() {
26165 return getRuleContext(CreateTableDefinitionsContext.class,0);
26166 }
26167 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
26168 public CompoundStatementContext compoundStatement() {
26169 return getRuleContext(CompoundStatementContext.class,0);
26170 }
26171 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
26172 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
26173 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
26174 public List<FunctionOptionContext> functionOption() {
26175 return getRuleContexts(FunctionOptionContext.class);
26176 }
26177 public FunctionOptionContext functionOption(int i) {
26178 return getRuleContext(FunctionOptionContext.class,i);
26179 }
26180 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
26181 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26182 public TerminalNode COMMA_(int i) {
26183 return getToken(SQLServerStatementParser.COMMA_, i);
26184 }
26185 public FuncMutiReturnContext(ParserRuleContext parent, int invokingState) {
26186 super(parent, invokingState);
26187 }
26188 @Override public int getRuleIndex() { return RULE_funcMutiReturn; }
26189 @Override
26190 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26191 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncMutiReturn(this);
26192 else return visitor.visitChildren(this);
26193 }
26194 }
26195
26196 public final FuncMutiReturnContext funcMutiReturn() throws RecognitionException {
26197 FuncMutiReturnContext _localctx = new FuncMutiReturnContext(_ctx, getState());
26198 enterRule(_localctx, 536, RULE_funcMutiReturn);
26199 int _la;
26200 try {
26201 enterOuterAlt(_localctx, 1);
26202 {
26203 setState(3664);
26204 match(RETURNS);
26205 setState(3665);
26206 variableName();
26207 setState(3666);
26208 match(TABLE);
26209 setState(3667);
26210 createTableDefinitions();
26211 setState(3677);
26212 _errHandler.sync(this);
26213 _la = _input.LA(1);
26214 if (_la==WITH) {
26215 {
26216 setState(3668);
26217 match(WITH);
26218 setState(3669);
26219 functionOption();
26220 setState(3674);
26221 _errHandler.sync(this);
26222 _la = _input.LA(1);
26223 while (_la==COMMA_) {
26224 {
26225 {
26226 setState(3670);
26227 match(COMMA_);
26228 setState(3671);
26229 functionOption();
26230 }
26231 }
26232 setState(3676);
26233 _errHandler.sync(this);
26234 _la = _input.LA(1);
26235 }
26236 }
26237 }
26238
26239 setState(3680);
26240 _errHandler.sync(this);
26241 _la = _input.LA(1);
26242 if (_la==AS) {
26243 {
26244 setState(3679);
26245 match(AS);
26246 }
26247 }
26248
26249 setState(3682);
26250 match(BEGIN);
26251 setState(3683);
26252 compoundStatement();
26253 setState(3684);
26254 match(RETURN);
26255 setState(3685);
26256 match(END);
26257 }
26258 }
26259 catch (RecognitionException re) {
26260 _localctx.exception = re;
26261 _errHandler.reportError(this, re);
26262 _errHandler.recover(this, re);
26263 }
26264 finally {
26265 exitRule();
26266 }
26267 return _localctx;
26268 }
26269
26270 public static class FuncInlineReturnContext extends ParserRuleContext {
26271 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
26272 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
26273 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
26274 public SelectContext select() {
26275 return getRuleContext(SelectContext.class,0);
26276 }
26277 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
26278 public List<FunctionOptionContext> functionOption() {
26279 return getRuleContexts(FunctionOptionContext.class);
26280 }
26281 public FunctionOptionContext functionOption(int i) {
26282 return getRuleContext(FunctionOptionContext.class,i);
26283 }
26284 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
26285 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
26286 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
26287 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26288 public TerminalNode COMMA_(int i) {
26289 return getToken(SQLServerStatementParser.COMMA_, i);
26290 }
26291 public FuncInlineReturnContext(ParserRuleContext parent, int invokingState) {
26292 super(parent, invokingState);
26293 }
26294 @Override public int getRuleIndex() { return RULE_funcInlineReturn; }
26295 @Override
26296 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26297 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncInlineReturn(this);
26298 else return visitor.visitChildren(this);
26299 }
26300 }
26301
26302 public final FuncInlineReturnContext funcInlineReturn() throws RecognitionException {
26303 FuncInlineReturnContext _localctx = new FuncInlineReturnContext(_ctx, getState());
26304 enterRule(_localctx, 538, RULE_funcInlineReturn);
26305 int _la;
26306 try {
26307 enterOuterAlt(_localctx, 1);
26308 {
26309 setState(3687);
26310 match(RETURNS);
26311 setState(3688);
26312 match(TABLE);
26313 setState(3698);
26314 _errHandler.sync(this);
26315 _la = _input.LA(1);
26316 if (_la==WITH) {
26317 {
26318 setState(3689);
26319 match(WITH);
26320 setState(3690);
26321 functionOption();
26322 setState(3695);
26323 _errHandler.sync(this);
26324 _la = _input.LA(1);
26325 while (_la==COMMA_) {
26326 {
26327 {
26328 setState(3691);
26329 match(COMMA_);
26330 setState(3692);
26331 functionOption();
26332 }
26333 }
26334 setState(3697);
26335 _errHandler.sync(this);
26336 _la = _input.LA(1);
26337 }
26338 }
26339 }
26340
26341 setState(3701);
26342 _errHandler.sync(this);
26343 _la = _input.LA(1);
26344 if (_la==AS) {
26345 {
26346 setState(3700);
26347 match(AS);
26348 }
26349 }
26350
26351 setState(3703);
26352 match(RETURN);
26353 setState(3705);
26354 _errHandler.sync(this);
26355 _la = _input.LA(1);
26356 if (_la==LP_) {
26357 {
26358 setState(3704);
26359 match(LP_);
26360 }
26361 }
26362
26363 setState(3707);
26364 select();
26365 setState(3709);
26366 _errHandler.sync(this);
26367 _la = _input.LA(1);
26368 if (_la==RP_) {
26369 {
26370 setState(3708);
26371 match(RP_);
26372 }
26373 }
26374
26375 }
26376 }
26377 catch (RecognitionException re) {
26378 _localctx.exception = re;
26379 _errHandler.reportError(this, re);
26380 _errHandler.recover(this, re);
26381 }
26382 finally {
26383 exitRule();
26384 }
26385 return _localctx;
26386 }
26387
26388 public static class FuncScalarReturnContext extends ParserRuleContext {
26389 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
26390 public DataTypeContext dataType() {
26391 return getRuleContext(DataTypeContext.class,0);
26392 }
26393 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
26394 public CompoundStatementContext compoundStatement() {
26395 return getRuleContext(CompoundStatementContext.class,0);
26396 }
26397 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
26398 public ExprContext expr() {
26399 return getRuleContext(ExprContext.class,0);
26400 }
26401 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
26402 public List<FunctionOptionContext> functionOption() {
26403 return getRuleContexts(FunctionOptionContext.class);
26404 }
26405 public FunctionOptionContext functionOption(int i) {
26406 return getRuleContext(FunctionOptionContext.class,i);
26407 }
26408 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
26409 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26410 public TerminalNode COMMA_(int i) {
26411 return getToken(SQLServerStatementParser.COMMA_, i);
26412 }
26413 public FuncScalarReturnContext(ParserRuleContext parent, int invokingState) {
26414 super(parent, invokingState);
26415 }
26416 @Override public int getRuleIndex() { return RULE_funcScalarReturn; }
26417 @Override
26418 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26419 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncScalarReturn(this);
26420 else return visitor.visitChildren(this);
26421 }
26422 }
26423
26424 public final FuncScalarReturnContext funcScalarReturn() throws RecognitionException {
26425 FuncScalarReturnContext _localctx = new FuncScalarReturnContext(_ctx, getState());
26426 enterRule(_localctx, 540, RULE_funcScalarReturn);
26427 int _la;
26428 try {
26429 enterOuterAlt(_localctx, 1);
26430 {
26431 setState(3711);
26432 match(RETURNS);
26433 setState(3712);
26434 dataType();
26435 setState(3722);
26436 _errHandler.sync(this);
26437 _la = _input.LA(1);
26438 if (_la==WITH) {
26439 {
26440 setState(3713);
26441 match(WITH);
26442 setState(3714);
26443 functionOption();
26444 setState(3719);
26445 _errHandler.sync(this);
26446 _la = _input.LA(1);
26447 while (_la==COMMA_) {
26448 {
26449 {
26450 setState(3715);
26451 match(COMMA_);
26452 setState(3716);
26453 functionOption();
26454 }
26455 }
26456 setState(3721);
26457 _errHandler.sync(this);
26458 _la = _input.LA(1);
26459 }
26460 }
26461 }
26462
26463 setState(3725);
26464 _errHandler.sync(this);
26465 _la = _input.LA(1);
26466 if (_la==AS) {
26467 {
26468 setState(3724);
26469 match(AS);
26470 }
26471 }
26472
26473 setState(3727);
26474 match(BEGIN);
26475 setState(3728);
26476 compoundStatement();
26477 setState(3729);
26478 match(RETURN);
26479 setState(3730);
26480 expr(0);
26481 }
26482 }
26483 catch (RecognitionException re) {
26484 _localctx.exception = re;
26485 _errHandler.reportError(this, re);
26486 _errHandler.recover(this, re);
26487 }
26488 finally {
26489 exitRule();
26490 }
26491 return _localctx;
26492 }
26493
26494 public static class TableTypeDefinitionContext extends ParserRuleContext {
26495 public ColumnDefinitionContext columnDefinition() {
26496 return getRuleContext(ColumnDefinitionContext.class,0);
26497 }
26498 public ColumnConstraintContext columnConstraint() {
26499 return getRuleContext(ColumnConstraintContext.class,0);
26500 }
26501 public ComputedColumnDefinitionContext computedColumnDefinition() {
26502 return getRuleContext(ComputedColumnDefinitionContext.class,0);
26503 }
26504 public List<TableConstraintContext> tableConstraint() {
26505 return getRuleContexts(TableConstraintContext.class);
26506 }
26507 public TableConstraintContext tableConstraint(int i) {
26508 return getRuleContext(TableConstraintContext.class,i);
26509 }
26510 public TableTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
26511 super(parent, invokingState);
26512 }
26513 @Override public int getRuleIndex() { return RULE_tableTypeDefinition; }
26514 @Override
26515 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26516 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableTypeDefinition(this);
26517 else return visitor.visitChildren(this);
26518 }
26519 }
26520
26521 public final TableTypeDefinitionContext tableTypeDefinition() throws RecognitionException {
26522 TableTypeDefinitionContext _localctx = new TableTypeDefinitionContext(_ctx, getState());
26523 enterRule(_localctx, 542, RULE_tableTypeDefinition);
26524 int _la;
26525 try {
26526 enterOuterAlt(_localctx, 1);
26527 {
26528 setState(3736);
26529 _errHandler.sync(this);
26530 switch ( getInterpreter().adaptivePredict(_input,379,_ctx) ) {
26531 case 1:
26532 {
26533 setState(3732);
26534 columnDefinition();
26535 setState(3733);
26536 columnConstraint();
26537 }
26538 break;
26539 case 2:
26540 {
26541 setState(3735);
26542 computedColumnDefinition();
26543 }
26544 break;
26545 }
26546 setState(3741);
26547 _errHandler.sync(this);
26548 _la = _input.LA(1);
26549 while (((((_la - 31)) & ~0x3f) == 0 && ((1L << (_la - 31)) & ((1L << (LP_ - 31)) | (1L << (CONSTRAINT - 31)) | (1L << (PRIMARY - 31)) | (1L << (UNIQUE - 31)) | (1L << (FOREIGN - 31)) | (1L << (KEY - 31)))) != 0) || _la==CHECK) {
26550 {
26551 {
26552 setState(3738);
26553 tableConstraint();
26554 }
26555 }
26556 setState(3743);
26557 _errHandler.sync(this);
26558 _la = _input.LA(1);
26559 }
26560 }
26561 }
26562 catch (RecognitionException re) {
26563 _localctx.exception = re;
26564 _errHandler.reportError(this, re);
26565 _errHandler.recover(this, re);
26566 }
26567 finally {
26568 exitRule();
26569 }
26570 return _localctx;
26571 }
26572
26573 public static class CompoundStatementContext extends ParserRuleContext {
26574 public List<ValidStatementContext> validStatement() {
26575 return getRuleContexts(ValidStatementContext.class);
26576 }
26577 public ValidStatementContext validStatement(int i) {
26578 return getRuleContext(ValidStatementContext.class,i);
26579 }
26580 public CompoundStatementContext(ParserRuleContext parent, int invokingState) {
26581 super(parent, invokingState);
26582 }
26583 @Override public int getRuleIndex() { return RULE_compoundStatement; }
26584 @Override
26585 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26586 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompoundStatement(this);
26587 else return visitor.visitChildren(this);
26588 }
26589 }
26590
26591 public final CompoundStatementContext compoundStatement() throws RecognitionException {
26592 CompoundStatementContext _localctx = new CompoundStatementContext(_ctx, getState());
26593 enterRule(_localctx, 544, RULE_compoundStatement);
26594 int _la;
26595 try {
26596 enterOuterAlt(_localctx, 1);
26597 {
26598 setState(3747);
26599 _errHandler.sync(this);
26600 _la = _input.LA(1);
26601 while (((((_la - 46)) & ~0x3f) == 0 && ((1L << (_la - 46)) & ((1L << (SELECT - 46)) | (1L << (INSERT - 46)) | (1L << (UPDATE - 46)) | (1L << (DELETE - 46)) | (1L << (CREATE - 46)) | (1L << (ALTER - 46)) | (1L << (DROP - 46)) | (1L << (TRUNCATE - 46)) | (1L << (SET - 46)) | (1L << (WITH - 46)))) != 0) || _la==DECLARE) {
26602 {
26603 {
26604 setState(3744);
26605 validStatement();
26606 }
26607 }
26608 setState(3749);
26609 _errHandler.sync(this);
26610 _la = _input.LA(1);
26611 }
26612 }
26613 }
26614 catch (RecognitionException re) {
26615 _localctx.exception = re;
26616 _errHandler.reportError(this, re);
26617 _errHandler.recover(this, re);
26618 }
26619 finally {
26620 exitRule();
26621 }
26622 return _localctx;
26623 }
26624
26625 public static class FunctionOptionContext extends ParserRuleContext {
26626 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
26627 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
26628 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
26629 public List<TerminalNode> NULL() { return getTokens(SQLServerStatementParser.NULL); }
26630 public TerminalNode NULL(int i) {
26631 return getToken(SQLServerStatementParser.NULL, i);
26632 }
26633 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
26634 public TerminalNode INPUT() { return getToken(SQLServerStatementParser.INPUT, 0); }
26635 public TerminalNode CALLED() { return getToken(SQLServerStatementParser.CALLED, 0); }
26636 public ExecuteAsClauseContext executeAsClause() {
26637 return getRuleContext(ExecuteAsClauseContext.class,0);
26638 }
26639 public TerminalNode INLINE() { return getToken(SQLServerStatementParser.INLINE, 0); }
26640 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
26641 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
26642 public FunctionOptionContext(ParserRuleContext parent, int invokingState) {
26643 super(parent, invokingState);
26644 }
26645 @Override public int getRuleIndex() { return RULE_functionOption; }
26646 @Override
26647 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26648 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionOption(this);
26649 else return visitor.visitChildren(this);
26650 }
26651 }
26652
26653 public final FunctionOptionContext functionOption() throws RecognitionException {
26654 FunctionOptionContext _localctx = new FunctionOptionContext(_ctx, getState());
26655 enterRule(_localctx, 546, RULE_functionOption);
26656 int _la;
26657 try {
26658 setState(3775);
26659 _errHandler.sync(this);
26660 switch ( getInterpreter().adaptivePredict(_input,387,_ctx) ) {
26661 case 1:
26662 enterOuterAlt(_localctx, 1);
26663 {
26664 setState(3751);
26665 _errHandler.sync(this);
26666 _la = _input.LA(1);
26667 if (_la==ENCRYPTION) {
26668 {
26669 setState(3750);
26670 match(ENCRYPTION);
26671 }
26672 }
26673
26674 }
26675 break;
26676 case 2:
26677 enterOuterAlt(_localctx, 2);
26678 {
26679 setState(3754);
26680 _errHandler.sync(this);
26681 _la = _input.LA(1);
26682 if (_la==SCHEMABINDING) {
26683 {
26684 setState(3753);
26685 match(SCHEMABINDING);
26686 }
26687 }
26688
26689 }
26690 break;
26691 case 3:
26692 enterOuterAlt(_localctx, 3);
26693 {
26694 setState(3765);
26695 _errHandler.sync(this);
26696 switch (_input.LA(1)) {
26697 case RETURNS:
26698 {
26699 setState(3756);
26700 match(RETURNS);
26701 setState(3757);
26702 match(NULL);
26703 setState(3758);
26704 match(ON);
26705 setState(3759);
26706 match(NULL);
26707 setState(3760);
26708 match(INPUT);
26709 }
26710 break;
26711 case CALLED:
26712 {
26713 setState(3761);
26714 match(CALLED);
26715 setState(3762);
26716 match(ON);
26717 setState(3763);
26718 match(NULL);
26719 setState(3764);
26720 match(INPUT);
26721 }
26722 break;
26723 case COMMA_:
26724 case AS:
26725 case BEGIN:
26726 case RETURN:
26727 break;
26728 default:
26729 break;
26730 }
26731 }
26732 break;
26733 case 4:
26734 enterOuterAlt(_localctx, 4);
26735 {
26736 setState(3768);
26737 _errHandler.sync(this);
26738 _la = _input.LA(1);
26739 if (_la==EXECUTE || _la==EXEC) {
26740 {
26741 setState(3767);
26742 executeAsClause();
26743 }
26744 }
26745
26746 }
26747 break;
26748 case 5:
26749 enterOuterAlt(_localctx, 5);
26750 {
26751 setState(3773);
26752 _errHandler.sync(this);
26753 _la = _input.LA(1);
26754 if (_la==INLINE) {
26755 {
26756 setState(3770);
26757 match(INLINE);
26758 setState(3771);
26759 match(EQ_);
26760 setState(3772);
26761 _la = _input.LA(1);
26762 if ( !(_la==ON || _la==OFF) ) {
26763 _errHandler.recoverInline(this);
26764 }
26765 else {
26766 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26767 _errHandler.reportMatch(this);
26768 consume();
26769 }
26770 }
26771 }
26772
26773 }
26774 break;
26775 }
26776 }
26777 catch (RecognitionException re) {
26778 _localctx.exception = re;
26779 _errHandler.reportError(this, re);
26780 _errHandler.recover(this, re);
26781 }
26782 finally {
26783 exitRule();
26784 }
26785 return _localctx;
26786 }
26787
26788 public static class ValidStatementContext extends ParserRuleContext {
26789 public CreateTableContext createTable() {
26790 return getRuleContext(CreateTableContext.class,0);
26791 }
26792 public AlterTableContext alterTable() {
26793 return getRuleContext(AlterTableContext.class,0);
26794 }
26795 public DropTableContext dropTable() {
26796 return getRuleContext(DropTableContext.class,0);
26797 }
26798 public TruncateTableContext truncateTable() {
26799 return getRuleContext(TruncateTableContext.class,0);
26800 }
26801 public InsertContext insert() {
26802 return getRuleContext(InsertContext.class,0);
26803 }
26804 public UpdateContext update() {
26805 return getRuleContext(UpdateContext.class,0);
26806 }
26807 public DeleteContext delete() {
26808 return getRuleContext(DeleteContext.class,0);
26809 }
26810 public SelectContext select() {
26811 return getRuleContext(SelectContext.class,0);
26812 }
26813 public SetVariableContext setVariable() {
26814 return getRuleContext(SetVariableContext.class,0);
26815 }
26816 public DeclareVariableContext declareVariable() {
26817 return getRuleContext(DeclareVariableContext.class,0);
26818 }
26819 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
26820 public ValidStatementContext(ParserRuleContext parent, int invokingState) {
26821 super(parent, invokingState);
26822 }
26823 @Override public int getRuleIndex() { return RULE_validStatement; }
26824 @Override
26825 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26826 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitValidStatement(this);
26827 else return visitor.visitChildren(this);
26828 }
26829 }
26830
26831 public final ValidStatementContext validStatement() throws RecognitionException {
26832 ValidStatementContext _localctx = new ValidStatementContext(_ctx, getState());
26833 enterRule(_localctx, 548, RULE_validStatement);
26834 try {
26835 enterOuterAlt(_localctx, 1);
26836 {
26837 setState(3787);
26838 _errHandler.sync(this);
26839 switch ( getInterpreter().adaptivePredict(_input,388,_ctx) ) {
26840 case 1:
26841 {
26842 setState(3777);
26843 createTable();
26844 }
26845 break;
26846 case 2:
26847 {
26848 setState(3778);
26849 alterTable();
26850 }
26851 break;
26852 case 3:
26853 {
26854 setState(3779);
26855 dropTable();
26856 }
26857 break;
26858 case 4:
26859 {
26860 setState(3780);
26861 truncateTable();
26862 }
26863 break;
26864 case 5:
26865 {
26866 setState(3781);
26867 insert();
26868 }
26869 break;
26870 case 6:
26871 {
26872 setState(3782);
26873 update();
26874 }
26875 break;
26876 case 7:
26877 {
26878 setState(3783);
26879 delete();
26880 }
26881 break;
26882 case 8:
26883 {
26884 setState(3784);
26885 select();
26886 }
26887 break;
26888 case 9:
26889 {
26890 setState(3785);
26891 setVariable();
26892 }
26893 break;
26894 case 10:
26895 {
26896 setState(3786);
26897 declareVariable();
26898 }
26899 break;
26900 }
26901 setState(3790);
26902 _errHandler.sync(this);
26903 switch ( getInterpreter().adaptivePredict(_input,389,_ctx) ) {
26904 case 1:
26905 {
26906 setState(3789);
26907 match(SEMI_);
26908 }
26909 break;
26910 }
26911 }
26912 }
26913 catch (RecognitionException re) {
26914 _localctx.exception = re;
26915 _errHandler.reportError(this, re);
26916 _errHandler.recover(this, re);
26917 }
26918 finally {
26919 exitRule();
26920 }
26921 return _localctx;
26922 }
26923
26924 public static class ProcParametersContext extends ParserRuleContext {
26925 public List<ProcParameterContext> procParameter() {
26926 return getRuleContexts(ProcParameterContext.class);
26927 }
26928 public ProcParameterContext procParameter(int i) {
26929 return getRuleContext(ProcParameterContext.class,i);
26930 }
26931 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26932 public TerminalNode COMMA_(int i) {
26933 return getToken(SQLServerStatementParser.COMMA_, i);
26934 }
26935 public ProcParametersContext(ParserRuleContext parent, int invokingState) {
26936 super(parent, invokingState);
26937 }
26938 @Override public int getRuleIndex() { return RULE_procParameters; }
26939 @Override
26940 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26941 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcParameters(this);
26942 else return visitor.visitChildren(this);
26943 }
26944 }
26945
26946 public final ProcParametersContext procParameters() throws RecognitionException {
26947 ProcParametersContext _localctx = new ProcParametersContext(_ctx, getState());
26948 enterRule(_localctx, 550, RULE_procParameters);
26949 int _la;
26950 try {
26951 enterOuterAlt(_localctx, 1);
26952 {
26953 setState(3800);
26954 _errHandler.sync(this);
26955 _la = _input.LA(1);
26956 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (QUARTER - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)) | (1L << (ROW - 184)) | (1L << (ROWS - 184)) | (1L << (XOR - 184)) | (1L << (ALWAYS - 184)) | (1L << (ROLE - 184)) | (1L << (START - 184)) | (1L << (ALGORITHM - 184)) | (1L << (AUTO - 184)) | (1L << (BLOCKERS - 184)) | (1L << (CLUSTERED - 184)) | (1L << (NONCLUSTERED - 184)) | (1L << (COLUMNSTORE - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)) | (1L << (RANDOMIZED - 248)) | (1L << (RANGE - 248)) | (1L << (REBUILD - 248)) | (1L << (REPLICATE - 248)) | (1L << (REPLICATION - 248)) | (1L << (RESUMABLE - 248)) | (1L << (ROWGUIDCOL - 248)) | (1L << (SAVE - 248)) | (1L << (SELF - 248)) | (1L << (SPARSE - 248)) | (1L << (SWITCH - 248)) | (1L << (TRAN - 248)) | (1L << (TRANCOUNT - 248)) | (1L << (CONTROL - 248)) | (1L << (CONCAT - 248)) | (1L << (TAKE - 248)) | (1L << (OWNERSHIP - 248)) | (1L << (DEFINITION - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)) | (1L << (DATA - 312)) | (1L << (SOURCE - 312)) | (1L << (FILE - 312)) | (1L << (FORMAT - 312)) | (1L << (LIBRARY - 312)) | (1L << (FULLTEXT - 312)) | (1L << (MASK - 312)) | (1L << (UNMASK - 312)) | (1L << (MESSAGE - 312)) | (1L << (REMOTE - 312)) | (1L << (BINDING - 312)) | (1L << (ROUTE - 312)) | (1L << (SECURITY - 312)) | (1L << (POLICY - 312)) | (1L << (AGGREGATE - 312)) | (1L << (QUEUE - 312)) | (1L << (RULE - 312)) | (1L << (SYNONYM - 312)) | (1L << (COLLECTION - 312)) | (1L << (SCRIPT - 312)) | (1L << (KILL - 312)) | (1L << (BACKUP - 312)) | (1L << (LOG - 312)) | (1L << (SHOWPLAN - 312)) | (1L << (SUBSCRIBE - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILTER_PREDICATE - 376)) | (1L << (HISTORY_RETENTION_PERIOD - 376)) | (1L << (HISTORY_TABLE - 376)) | (1L << (LOCK_ESCALATION - 376)) | (1L << (DROP_EXISTING - 376)) | (1L << (ROW_NUMBER - 376)) | (1L << (FIRST - 376)) | (1L << (DATETIME2 - 376)))) != 0) || ((((_la - 441)) & ~0x3f) == 0 && ((1L << (_la - 441)) & ((1L << (OUTPUT - 441)) | (1L << (INSERTED - 441)) | (1L << (DELETED - 441)) | (1L << (FILENAME - 441)) | (1L << (MAXSIZE - 441)) | (1L << (FILEGROWTH - 441)) | (1L << (UNLIMITED - 441)) | (1L << (KB - 441)) | (1L << (MB - 441)) | (1L << (GB - 441)) | (1L << (TB - 441)) | (1L << (MEMORY_OPTIMIZED_DATA - 441)) | (1L << (FILEGROUP - 441)) | (1L << (NON_TRANSACTED_ACCESS - 441)) | (1L << (DB_CHAINING - 441)) | (1L << (TRUSTWORTHY - 441)) | (1L << (FORWARD_ONLY - 441)) | (1L << (KEYSET - 441)) | (1L << (FAST_FORWARD - 441)) | (1L << (SCROLL_LOCKS - 441)) | (1L << (OPTIMISTIC - 441)) | (1L << (TYPE_WARNING - 441)) | (1L << (SCHEMABINDING - 441)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (CALLER - 505)) | (1L << (OWNER - 505)) | (1L << (SNAPSHOT - 505)) | (1L << (REPEATABLE - 505)) | (1L << (SERIALIZABLE - 505)) | (1L << (NATIVE_COMPILATION - 505)) | (1L << (VIEW_METADATA - 505)) | (1L << (INSTEAD - 505)) | (1L << (APPEND - 505)) | (1L << (INCREMENT - 505)) | (1L << (CACHE - 505)) | (1L << (MINVALUE - 505)) | (1L << (MAXVALUE - 505)) | (1L << (RESTART - 505)) | (1L << (LOB_COMPACTION - 505)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 505)) | (1L << (REORGANIZE - 505)) | (1L << (RESUME - 505)) | (1L << (PAUSE - 505)) | (1L << (ABORT - 505)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 505)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 505)) | (1L << (IMMEDIATE - 505)) | (1L << (NO_WAIT - 505)) | (1L << (TARGET_RECOVERY_TIME - 505)) | (1L << (SECONDS - 505)) | (1L << (HONOR_BROKER_PRIORITY - 505)) | (1L << (ERROR_BROKER_CONVERSATIONS - 505)) | (1L << (NEW_BROKER - 505)) | (1L << (DISABLE_BROKER - 505)) | (1L << (ENABLE_BROKER - 505)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 505)) | (1L << (READ_COMMITTED_SNAPSHOT - 505)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 505)) | (1L << (RECURSIVE_TRIGGERS - 505)) | (1L << (QUOTED_IDENTIFIER - 505)) | (1L << (NUMERIC_ROUNDABORT - 505)) | (1L << (CONCAT_NULL_YIELDS_NULL - 505)) | (1L << (COMPATIBILITY_LEVEL - 505)) | (1L << (ARITHABORT - 505)) | (1L << (ANSI_WARNINGS - 505)) | (1L << (ANSI_PADDING - 505)) | (1L << (ANSI_NULLS - 505)))) != 0) || ((((_la - 569)) & ~0x3f) == 0 && ((1L << (_la - 569)) & ((1L << (ANSI_NULL_DEFAULT - 569)) | (1L << (PAGE_VERIFY - 569)) | (1L << (CHECKSUM - 569)) | (1L << (TORN_PAGE_DETECTION - 569)) | (1L << (BULK_LOGGED - 569)) | (1L << (RECOVERY - 569)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 569)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 569)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 569)) | (1L << (EXECUTION_COUNT - 569)) | (1L << (QUERY_CAPTURE_POLICY - 569)) | (1L << (WAIT_STATS_CAPTURE_MODE - 569)) | (1L << (MAX_PLANS_PER_QUERY - 569)) | (1L << (QUERY_CAPTURE_MODE - 569)) | (1L << (SIZE_BASED_CLEANUP_MODE - 569)) | (1L << (INTERVAL_LENGTH_MINUTES - 569)) | (1L << (MAX_STORAGE_SIZE_MB - 569)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 569)) | (1L << (CLEANUP_POLICY - 569)) | (1L << (CUSTOM - 569)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 569)) | (1L << (OPERATION_MODE - 569)) | (1L << (QUERY_STORE - 569)) | (1L << (CURSOR_DEFAULT - 569)) | (1L << (GLOBAL - 569)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 569)) | (1L << (HOURS - 569)) | (1L << (CHANGE_RETENTION - 569)) | (1L << (AUTO_CLEANUP - 569)) | (1L << (CHANGE_TRACKING - 569)) | (1L << (AUTOMATIC_TUNING - 569)) | (1L << (FORCE_LAST_GOOD_PLAN - 569)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 569)) | (1L << (AUTO_UPDATE_STATISTICS - 569)) | (1L << (AUTO_SHRINK - 569)) | (1L << (AUTO_CREATE_STATISTICS - 569)) | (1L << (INCREMENTAL - 569)) | (1L << (AUTO_CLOSE - 569)) | (1L << (DATA_RETENTION - 569)) | (1L << (TEMPORAL_HISTORY_RETENTION - 569)) | (1L << (EDITION - 569)) | (1L << (MIXED_PAGE_ALLOCATION - 569)) | (1L << (DISABLED - 569)) | (1L << (ALLOWED - 569)) | (1L << (HADR - 569)) | (1L << (MULTI_USER - 569)) | (1L << (RESTRICTED_USER - 569)) | (1L << (SINGLE_USER - 569)) | (1L << (OFFLINE - 569)) | (1L << (EMERGENCY - 569)) | (1L << (SUSPEND - 569)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 569)) | (1L << (ELASTIC_POOL - 569)) | (1L << (SERVICE_OBJECTIVE - 569)) | (1L << (DATABASE_NAME - 569)) | (1L << (ALLOW_CONNECTIONS - 569)) | (1L << (GEO - 569)) | (1L << (NAMED - 569)) | (1L << (DATEFIRST - 569)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 569)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 569)) | (1L << (SECONDARY - 569)) | (1L << (FAILOVER - 569)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 569)))) != 0) || ((((_la - 633)) & ~0x3f) == 0 && ((1L << (_la - 633)) & ((1L << (DEFAULT_LANGUAGE - 633)) | (1L << (INLINE - 633)) | (1L << (NESTED_TRIGGERS - 633)) | (1L << (TRANSFORM_NOISE_WORDS - 633)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 633)) | (1L << (PERSISTENT_LOG_BUFFER - 633)) | (1L << (DIRECTORY_NAME - 633)) | (1L << (DATEFORMAT - 633)) | (1L << (DELAYED_DURABILITY - 633)) | (1L << (AUTHORIZATION - 633)) | (1L << (TRANSFER - 633)) | (1L << (PROVIDER - 633)) | (1L << (SEARCH - 633)) | (1L << (MEMBER - 633)) | (1L << (IDENTIFIER_ - 633)) | (1L << (DELIMITED_IDENTIFIER_ - 633)))) != 0)) {
26957 {
26958 setState(3792);
26959 procParameter();
26960 setState(3797);
26961 _errHandler.sync(this);
26962 _la = _input.LA(1);
26963 while (_la==COMMA_) {
26964 {
26965 {
26966 setState(3793);
26967 match(COMMA_);
26968 setState(3794);
26969 procParameter();
26970 }
26971 }
26972 setState(3799);
26973 _errHandler.sync(this);
26974 _la = _input.LA(1);
26975 }
26976 }
26977 }
26978
26979 }
26980 }
26981 catch (RecognitionException re) {
26982 _localctx.exception = re;
26983 _errHandler.reportError(this, re);
26984 _errHandler.recover(this, re);
26985 }
26986 finally {
26987 exitRule();
26988 }
26989 return _localctx;
26990 }
26991
26992 public static class ProcParameterContext extends ParserRuleContext {
26993 public VariableContext variable() {
26994 return getRuleContext(VariableContext.class,0);
26995 }
26996 public TerminalNode VARYING() { return getToken(SQLServerStatementParser.VARYING, 0); }
26997 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
26998 public LiteralsContext literals() {
26999 return getRuleContext(LiteralsContext.class,0);
27000 }
27001 public TerminalNode OUT() { return getToken(SQLServerStatementParser.OUT, 0); }
27002 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
27003 public TerminalNode READONLY() { return getToken(SQLServerStatementParser.READONLY, 0); }
27004 public ProcParameterContext(ParserRuleContext parent, int invokingState) {
27005 super(parent, invokingState);
27006 }
27007 @Override public int getRuleIndex() { return RULE_procParameter; }
27008 @Override
27009 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27010 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcParameter(this);
27011 else return visitor.visitChildren(this);
27012 }
27013 }
27014
27015 public final ProcParameterContext procParameter() throws RecognitionException {
27016 ProcParameterContext _localctx = new ProcParameterContext(_ctx, getState());
27017 enterRule(_localctx, 552, RULE_procParameter);
27018 int _la;
27019 try {
27020 enterOuterAlt(_localctx, 1);
27021 {
27022 setState(3802);
27023 variable();
27024 setState(3804);
27025 _errHandler.sync(this);
27026 _la = _input.LA(1);
27027 if (_la==VARYING) {
27028 {
27029 setState(3803);
27030 match(VARYING);
27031 }
27032 }
27033
27034 setState(3808);
27035 _errHandler.sync(this);
27036 _la = _input.LA(1);
27037 if (_la==EQ_) {
27038 {
27039 setState(3806);
27040 match(EQ_);
27041 setState(3807);
27042 literals();
27043 }
27044 }
27045
27046 setState(3811);
27047 _errHandler.sync(this);
27048 _la = _input.LA(1);
27049 if (_la==READONLY || _la==OUTPUT || _la==OUT) {
27050 {
27051 setState(3810);
27052 _la = _input.LA(1);
27053 if ( !(_la==READONLY || _la==OUTPUT || _la==OUT) ) {
27054 _errHandler.recoverInline(this);
27055 }
27056 else {
27057 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27058 _errHandler.reportMatch(this);
27059 consume();
27060 }
27061 }
27062 }
27063
27064 }
27065 }
27066 catch (RecognitionException re) {
27067 _localctx.exception = re;
27068 _errHandler.reportError(this, re);
27069 _errHandler.recover(this, re);
27070 }
27071 finally {
27072 exitRule();
27073 }
27074 return _localctx;
27075 }
27076
27077 public static class CreateOrAlterProcClauseContext extends ParserRuleContext {
27078 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27079 public ProcAsClauseContext procAsClause() {
27080 return getRuleContext(ProcAsClauseContext.class,0);
27081 }
27082 public WithCreateProcOptionContext withCreateProcOption() {
27083 return getRuleContext(WithCreateProcOptionContext.class,0);
27084 }
27085 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
27086 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
27087 public CreateOrAlterProcClauseContext(ParserRuleContext parent, int invokingState) {
27088 super(parent, invokingState);
27089 }
27090 @Override public int getRuleIndex() { return RULE_createOrAlterProcClause; }
27091 @Override
27092 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27093 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterProcClause(this);
27094 else return visitor.visitChildren(this);
27095 }
27096 }
27097
27098 public final CreateOrAlterProcClauseContext createOrAlterProcClause() throws RecognitionException {
27099 CreateOrAlterProcClauseContext _localctx = new CreateOrAlterProcClauseContext(_ctx, getState());
27100 enterRule(_localctx, 554, RULE_createOrAlterProcClause);
27101 int _la;
27102 try {
27103 enterOuterAlt(_localctx, 1);
27104 {
27105 setState(3814);
27106 _errHandler.sync(this);
27107 _la = _input.LA(1);
27108 if (_la==WITH) {
27109 {
27110 setState(3813);
27111 withCreateProcOption();
27112 }
27113 }
27114
27115 setState(3818);
27116 _errHandler.sync(this);
27117 _la = _input.LA(1);
27118 if (_la==FOR) {
27119 {
27120 setState(3816);
27121 match(FOR);
27122 setState(3817);
27123 match(REPLICATION);
27124 }
27125 }
27126
27127 setState(3820);
27128 match(AS);
27129 setState(3821);
27130 procAsClause();
27131 }
27132 }
27133 catch (RecognitionException re) {
27134 _localctx.exception = re;
27135 _errHandler.reportError(this, re);
27136 _errHandler.recover(this, re);
27137 }
27138 finally {
27139 exitRule();
27140 }
27141 return _localctx;
27142 }
27143
27144 public static class WithCreateProcOptionContext extends ParserRuleContext {
27145 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27146 public List<ProcOptionContext> procOption() {
27147 return getRuleContexts(ProcOptionContext.class);
27148 }
27149 public ProcOptionContext procOption(int i) {
27150 return getRuleContext(ProcOptionContext.class,i);
27151 }
27152 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27153 public TerminalNode COMMA_(int i) {
27154 return getToken(SQLServerStatementParser.COMMA_, i);
27155 }
27156 public WithCreateProcOptionContext(ParserRuleContext parent, int invokingState) {
27157 super(parent, invokingState);
27158 }
27159 @Override public int getRuleIndex() { return RULE_withCreateProcOption; }
27160 @Override
27161 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27162 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithCreateProcOption(this);
27163 else return visitor.visitChildren(this);
27164 }
27165 }
27166
27167 public final WithCreateProcOptionContext withCreateProcOption() throws RecognitionException {
27168 WithCreateProcOptionContext _localctx = new WithCreateProcOptionContext(_ctx, getState());
27169 enterRule(_localctx, 556, RULE_withCreateProcOption);
27170 int _la;
27171 try {
27172 enterOuterAlt(_localctx, 1);
27173 {
27174 setState(3823);
27175 match(WITH);
27176 setState(3832);
27177 _errHandler.sync(this);
27178 _la = _input.LA(1);
27179 if (((((_la - 301)) & ~0x3f) == 0 && ((1L << (_la - 301)) & ((1L << (EXECUTE - 301)) | (1L << (EXEC - 301)) | (1L << (ENCRYPTION - 301)))) != 0) || ((((_la - 472)) & ~0x3f) == 0 && ((1L << (_la - 472)) & ((1L << (RECOMPILE - 472)) | (1L << (SCHEMABINDING - 472)) | (1L << (NATIVE_COMPILATION - 472)))) != 0)) {
27180 {
27181 setState(3824);
27182 procOption();
27183 setState(3829);
27184 _errHandler.sync(this);
27185 _la = _input.LA(1);
27186 while (_la==COMMA_) {
27187 {
27188 {
27189 setState(3825);
27190 match(COMMA_);
27191 setState(3826);
27192 procOption();
27193 }
27194 }
27195 setState(3831);
27196 _errHandler.sync(this);
27197 _la = _input.LA(1);
27198 }
27199 }
27200 }
27201
27202 }
27203 }
27204 catch (RecognitionException re) {
27205 _localctx.exception = re;
27206 _errHandler.reportError(this, re);
27207 _errHandler.recover(this, re);
27208 }
27209 finally {
27210 exitRule();
27211 }
27212 return _localctx;
27213 }
27214
27215 public static class ProcOptionContext extends ParserRuleContext {
27216 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
27217 public TerminalNode RECOMPILE() { return getToken(SQLServerStatementParser.RECOMPILE, 0); }
27218 public ExecuteAsClauseContext executeAsClause() {
27219 return getRuleContext(ExecuteAsClauseContext.class,0);
27220 }
27221 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
27222 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
27223 public ProcOptionContext(ParserRuleContext parent, int invokingState) {
27224 super(parent, invokingState);
27225 }
27226 @Override public int getRuleIndex() { return RULE_procOption; }
27227 @Override
27228 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27229 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcOption(this);
27230 else return visitor.visitChildren(this);
27231 }
27232 }
27233
27234 public final ProcOptionContext procOption() throws RecognitionException {
27235 ProcOptionContext _localctx = new ProcOptionContext(_ctx, getState());
27236 enterRule(_localctx, 558, RULE_procOption);
27237 try {
27238 setState(3839);
27239 _errHandler.sync(this);
27240 switch (_input.LA(1)) {
27241 case ENCRYPTION:
27242 enterOuterAlt(_localctx, 1);
27243 {
27244 setState(3834);
27245 match(ENCRYPTION);
27246 }
27247 break;
27248 case RECOMPILE:
27249 enterOuterAlt(_localctx, 2);
27250 {
27251 setState(3835);
27252 match(RECOMPILE);
27253 }
27254 break;
27255 case EXECUTE:
27256 case EXEC:
27257 enterOuterAlt(_localctx, 3);
27258 {
27259 setState(3836);
27260 executeAsClause();
27261 }
27262 break;
27263 case NATIVE_COMPILATION:
27264 enterOuterAlt(_localctx, 4);
27265 {
27266 setState(3837);
27267 match(NATIVE_COMPILATION);
27268 }
27269 break;
27270 case SCHEMABINDING:
27271 enterOuterAlt(_localctx, 5);
27272 {
27273 setState(3838);
27274 match(SCHEMABINDING);
27275 }
27276 break;
27277 default:
27278 throw new NoViableAltException(this);
27279 }
27280 }
27281 catch (RecognitionException re) {
27282 _localctx.exception = re;
27283 _errHandler.reportError(this, re);
27284 _errHandler.recover(this, re);
27285 }
27286 finally {
27287 exitRule();
27288 }
27289 return _localctx;
27290 }
27291
27292 public static class ProcAsClauseContext extends ParserRuleContext {
27293 public CompoundStatementContext compoundStatement() {
27294 return getRuleContext(CompoundStatementContext.class,0);
27295 }
27296 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
27297 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
27298 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
27299 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
27300 public NameContext name() {
27301 return getRuleContext(NameContext.class,0);
27302 }
27303 public List<OwnerContext> owner() {
27304 return getRuleContexts(OwnerContext.class);
27305 }
27306 public OwnerContext owner(int i) {
27307 return getRuleContext(OwnerContext.class,i);
27308 }
27309 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
27310 public TerminalNode DOT_(int i) {
27311 return getToken(SQLServerStatementParser.DOT_, i);
27312 }
27313 public TerminalNode ATOMIC() { return getToken(SQLServerStatementParser.ATOMIC, 0); }
27314 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27315 public List<ProcSetOptionContext> procSetOption() {
27316 return getRuleContexts(ProcSetOptionContext.class);
27317 }
27318 public ProcSetOptionContext procSetOption(int i) {
27319 return getRuleContext(ProcSetOptionContext.class,i);
27320 }
27321 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27322 public TerminalNode COMMA_(int i) {
27323 return getToken(SQLServerStatementParser.COMMA_, i);
27324 }
27325 public ProcAsClauseContext(ParserRuleContext parent, int invokingState) {
27326 super(parent, invokingState);
27327 }
27328 @Override public int getRuleIndex() { return RULE_procAsClause; }
27329 @Override
27330 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27331 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcAsClause(this);
27332 else return visitor.visitChildren(this);
27333 }
27334 }
27335
27336 public final ProcAsClauseContext procAsClause() throws RecognitionException {
27337 ProcAsClauseContext _localctx = new ProcAsClauseContext(_ctx, getState());
27338 enterRule(_localctx, 560, RULE_procAsClause);
27339 int _la;
27340 try {
27341 setState(3876);
27342 _errHandler.sync(this);
27343 switch ( getInterpreter().adaptivePredict(_input,406,_ctx) ) {
27344 case 1:
27345 enterOuterAlt(_localctx, 1);
27346 {
27347 setState(3842);
27348 _errHandler.sync(this);
27349 _la = _input.LA(1);
27350 if (_la==BEGIN) {
27351 {
27352 setState(3841);
27353 match(BEGIN);
27354 }
27355 }
27356
27357 setState(3844);
27358 compoundStatement();
27359 setState(3846);
27360 _errHandler.sync(this);
27361 _la = _input.LA(1);
27362 if (_la==END) {
27363 {
27364 setState(3845);
27365 match(END);
27366 }
27367 }
27368
27369 }
27370 break;
27371 case 2:
27372 enterOuterAlt(_localctx, 2);
27373 {
27374 setState(3848);
27375 match(EXTERNAL);
27376 setState(3849);
27377 match(NAME);
27378 setState(3853);
27379 _errHandler.sync(this);
27380 switch ( getInterpreter().adaptivePredict(_input,402,_ctx) ) {
27381 case 1:
27382 {
27383 setState(3850);
27384 owner();
27385 setState(3851);
27386 match(DOT_);
27387 }
27388 break;
27389 }
27390 setState(3858);
27391 _errHandler.sync(this);
27392 switch ( getInterpreter().adaptivePredict(_input,403,_ctx) ) {
27393 case 1:
27394 {
27395 setState(3855);
27396 owner();
27397 setState(3856);
27398 match(DOT_);
27399 }
27400 break;
27401 }
27402 setState(3860);
27403 name();
27404 }
27405 break;
27406 case 3:
27407 enterOuterAlt(_localctx, 3);
27408 {
27409 setState(3861);
27410 match(BEGIN);
27411 setState(3862);
27412 match(ATOMIC);
27413 setState(3863);
27414 match(WITH);
27415 setState(3864);
27416 procSetOption();
27417 setState(3869);
27418 _errHandler.sync(this);
27419 _la = _input.LA(1);
27420 while (_la==COMMA_) {
27421 {
27422 {
27423 setState(3865);
27424 match(COMMA_);
27425 setState(3866);
27426 procSetOption();
27427 }
27428 }
27429 setState(3871);
27430 _errHandler.sync(this);
27431 _la = _input.LA(1);
27432 }
27433 setState(3872);
27434 compoundStatement();
27435 setState(3874);
27436 _errHandler.sync(this);
27437 _la = _input.LA(1);
27438 if (_la==END) {
27439 {
27440 setState(3873);
27441 match(END);
27442 }
27443 }
27444
27445 }
27446 break;
27447 }
27448 }
27449 catch (RecognitionException re) {
27450 _localctx.exception = re;
27451 _errHandler.reportError(this, re);
27452 _errHandler.recover(this, re);
27453 }
27454 finally {
27455 exitRule();
27456 }
27457 return _localctx;
27458 }
27459
27460 public static class ProcSetOptionContext extends ParserRuleContext {
27461 public TerminalNode LANGUAGE() { return getToken(SQLServerStatementParser.LANGUAGE, 0); }
27462 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
27463 public StringLiteralsContext stringLiterals() {
27464 return getRuleContext(StringLiteralsContext.class,0);
27465 }
27466 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
27467 public TerminalNode ISOLATION() { return getToken(SQLServerStatementParser.ISOLATION, 0); }
27468 public TerminalNode LEVEL() { return getToken(SQLServerStatementParser.LEVEL, 0); }
27469 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
27470 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
27471 public TerminalNode READ() { return getToken(SQLServerStatementParser.READ, 0); }
27472 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
27473 public TerminalNode DATEFIRST() { return getToken(SQLServerStatementParser.DATEFIRST, 0); }
27474 public NumberLiteralsContext numberLiterals() {
27475 return getRuleContext(NumberLiteralsContext.class,0);
27476 }
27477 public TerminalNode DATEFORMAT() { return getToken(SQLServerStatementParser.DATEFORMAT, 0); }
27478 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
27479 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
27480 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
27481 public ProcSetOptionContext(ParserRuleContext parent, int invokingState) {
27482 super(parent, invokingState);
27483 }
27484 @Override public int getRuleIndex() { return RULE_procSetOption; }
27485 @Override
27486 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27487 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcSetOption(this);
27488 else return visitor.visitChildren(this);
27489 }
27490 }
27491
27492 public final ProcSetOptionContext procSetOption() throws RecognitionException {
27493 ProcSetOptionContext _localctx = new ProcSetOptionContext(_ctx, getState());
27494 enterRule(_localctx, 562, RULE_procSetOption);
27495 int _la;
27496 try {
27497 setState(3900);
27498 _errHandler.sync(this);
27499 switch (_input.LA(1)) {
27500 case LANGUAGE:
27501 enterOuterAlt(_localctx, 1);
27502 {
27503 setState(3878);
27504 match(LANGUAGE);
27505 setState(3879);
27506 match(EQ_);
27507 setState(3880);
27508 stringLiterals();
27509 }
27510 break;
27511 case TRANSACTION:
27512 enterOuterAlt(_localctx, 2);
27513 {
27514 setState(3881);
27515 match(TRANSACTION);
27516 setState(3882);
27517 match(ISOLATION);
27518 setState(3883);
27519 match(LEVEL);
27520 setState(3884);
27521 match(EQ_);
27522 setState(3889);
27523 _errHandler.sync(this);
27524 switch (_input.LA(1)) {
27525 case SNAPSHOT:
27526 {
27527 setState(3885);
27528 match(SNAPSHOT);
27529 }
27530 break;
27531 case REPEATABLE:
27532 {
27533 setState(3886);
27534 match(REPEATABLE);
27535 setState(3887);
27536 match(READ);
27537 }
27538 break;
27539 case SERIALIZABLE:
27540 {
27541 setState(3888);
27542 match(SERIALIZABLE);
27543 }
27544 break;
27545 default:
27546 throw new NoViableAltException(this);
27547 }
27548 }
27549 break;
27550 case DATEFIRST:
27551 enterOuterAlt(_localctx, 3);
27552 {
27553 setState(3891);
27554 match(DATEFIRST);
27555 setState(3892);
27556 match(EQ_);
27557 setState(3893);
27558 numberLiterals();
27559 }
27560 break;
27561 case DATEFORMAT:
27562 enterOuterAlt(_localctx, 4);
27563 {
27564 setState(3894);
27565 match(DATEFORMAT);
27566 setState(3895);
27567 match(EQ_);
27568 setState(3896);
27569 stringLiterals();
27570 }
27571 break;
27572 case DELAYED_DURABILITY:
27573 enterOuterAlt(_localctx, 5);
27574 {
27575 setState(3897);
27576 match(DELAYED_DURABILITY);
27577 setState(3898);
27578 match(EQ_);
27579 setState(3899);
27580 _la = _input.LA(1);
27581 if ( !(_la==ON || _la==OFF) ) {
27582 _errHandler.recoverInline(this);
27583 }
27584 else {
27585 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27586 _errHandler.reportMatch(this);
27587 consume();
27588 }
27589 }
27590 break;
27591 default:
27592 throw new NoViableAltException(this);
27593 }
27594 }
27595 catch (RecognitionException re) {
27596 _localctx.exception = re;
27597 _errHandler.reportError(this, re);
27598 _errHandler.recover(this, re);
27599 }
27600 finally {
27601 exitRule();
27602 }
27603 return _localctx;
27604 }
27605
27606 public static class CreateOrAlterViewClauseContext extends ParserRuleContext {
27607 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27608 public SelectContext select() {
27609 return getRuleContext(SelectContext.class,0);
27610 }
27611 public List<TerminalNode> WITH() { return getTokens(SQLServerStatementParser.WITH); }
27612 public TerminalNode WITH(int i) {
27613 return getToken(SQLServerStatementParser.WITH, i);
27614 }
27615 public List<ViewAttributeContext> viewAttribute() {
27616 return getRuleContexts(ViewAttributeContext.class);
27617 }
27618 public ViewAttributeContext viewAttribute(int i) {
27619 return getRuleContext(ViewAttributeContext.class,i);
27620 }
27621 public WithCommonTableExprContext withCommonTableExpr() {
27622 return getRuleContext(WithCommonTableExprContext.class,0);
27623 }
27624 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
27625 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
27626 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27627 public TerminalNode COMMA_(int i) {
27628 return getToken(SQLServerStatementParser.COMMA_, i);
27629 }
27630 public CreateOrAlterViewClauseContext(ParserRuleContext parent, int invokingState) {
27631 super(parent, invokingState);
27632 }
27633 @Override public int getRuleIndex() { return RULE_createOrAlterViewClause; }
27634 @Override
27635 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27636 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterViewClause(this);
27637 else return visitor.visitChildren(this);
27638 }
27639 }
27640
27641 public final CreateOrAlterViewClauseContext createOrAlterViewClause() throws RecognitionException {
27642 CreateOrAlterViewClauseContext _localctx = new CreateOrAlterViewClauseContext(_ctx, getState());
27643 enterRule(_localctx, 564, RULE_createOrAlterViewClause);
27644 int _la;
27645 try {
27646 enterOuterAlt(_localctx, 1);
27647 {
27648 setState(3911);
27649 _errHandler.sync(this);
27650 _la = _input.LA(1);
27651 if (_la==WITH) {
27652 {
27653 setState(3902);
27654 match(WITH);
27655 setState(3903);
27656 viewAttribute();
27657 setState(3908);
27658 _errHandler.sync(this);
27659 _la = _input.LA(1);
27660 while (_la==COMMA_) {
27661 {
27662 {
27663 setState(3904);
27664 match(COMMA_);
27665 setState(3905);
27666 viewAttribute();
27667 }
27668 }
27669 setState(3910);
27670 _errHandler.sync(this);
27671 _la = _input.LA(1);
27672 }
27673 }
27674 }
27675
27676 setState(3913);
27677 match(AS);
27678 setState(3915);
27679 _errHandler.sync(this);
27680 switch ( getInterpreter().adaptivePredict(_input,411,_ctx) ) {
27681 case 1:
27682 {
27683 setState(3914);
27684 withCommonTableExpr();
27685 }
27686 break;
27687 }
27688 setState(3917);
27689 select();
27690 setState(3921);
27691 _errHandler.sync(this);
27692 _la = _input.LA(1);
27693 if (_la==WITH) {
27694 {
27695 setState(3918);
27696 match(WITH);
27697 setState(3919);
27698 match(CHECK);
27699 setState(3920);
27700 match(OPTION);
27701 }
27702 }
27703
27704 }
27705 }
27706 catch (RecognitionException re) {
27707 _localctx.exception = re;
27708 _errHandler.reportError(this, re);
27709 _errHandler.recover(this, re);
27710 }
27711 finally {
27712 exitRule();
27713 }
27714 return _localctx;
27715 }
27716
27717 public static class ViewAttributeContext extends ParserRuleContext {
27718 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
27719 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
27720 public TerminalNode VIEW_METADATA() { return getToken(SQLServerStatementParser.VIEW_METADATA, 0); }
27721 public ViewAttributeContext(ParserRuleContext parent, int invokingState) {
27722 super(parent, invokingState);
27723 }
27724 @Override public int getRuleIndex() { return RULE_viewAttribute; }
27725 @Override
27726 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27727 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitViewAttribute(this);
27728 else return visitor.visitChildren(this);
27729 }
27730 }
27731
27732 public final ViewAttributeContext viewAttribute() throws RecognitionException {
27733 ViewAttributeContext _localctx = new ViewAttributeContext(_ctx, getState());
27734 enterRule(_localctx, 566, RULE_viewAttribute);
27735 int _la;
27736 try {
27737 enterOuterAlt(_localctx, 1);
27738 {
27739 setState(3923);
27740 _la = _input.LA(1);
27741 if ( !(_la==ENCRYPTION || _la==SCHEMABINDING || _la==VIEW_METADATA) ) {
27742 _errHandler.recoverInline(this);
27743 }
27744 else {
27745 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27746 _errHandler.reportMatch(this);
27747 consume();
27748 }
27749 }
27750 }
27751 catch (RecognitionException re) {
27752 _localctx.exception = re;
27753 _errHandler.reportError(this, re);
27754 _errHandler.recover(this, re);
27755 }
27756 finally {
27757 exitRule();
27758 }
27759 return _localctx;
27760 }
27761
27762 public static class WithCommonTableExprContext extends ParserRuleContext {
27763 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27764 public List<CommonTableExprContext> commonTableExpr() {
27765 return getRuleContexts(CommonTableExprContext.class);
27766 }
27767 public CommonTableExprContext commonTableExpr(int i) {
27768 return getRuleContext(CommonTableExprContext.class,i);
27769 }
27770 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27771 public TerminalNode COMMA_(int i) {
27772 return getToken(SQLServerStatementParser.COMMA_, i);
27773 }
27774 public WithCommonTableExprContext(ParserRuleContext parent, int invokingState) {
27775 super(parent, invokingState);
27776 }
27777 @Override public int getRuleIndex() { return RULE_withCommonTableExpr; }
27778 @Override
27779 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27780 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithCommonTableExpr(this);
27781 else return visitor.visitChildren(this);
27782 }
27783 }
27784
27785 public final WithCommonTableExprContext withCommonTableExpr() throws RecognitionException {
27786 WithCommonTableExprContext _localctx = new WithCommonTableExprContext(_ctx, getState());
27787 enterRule(_localctx, 568, RULE_withCommonTableExpr);
27788 int _la;
27789 try {
27790 enterOuterAlt(_localctx, 1);
27791 {
27792 setState(3925);
27793 match(WITH);
27794 setState(3926);
27795 commonTableExpr();
27796 setState(3931);
27797 _errHandler.sync(this);
27798 _la = _input.LA(1);
27799 while (_la==COMMA_) {
27800 {
27801 {
27802 setState(3927);
27803 match(COMMA_);
27804 setState(3928);
27805 commonTableExpr();
27806 }
27807 }
27808 setState(3933);
27809 _errHandler.sync(this);
27810 _la = _input.LA(1);
27811 }
27812 }
27813 }
27814 catch (RecognitionException re) {
27815 _localctx.exception = re;
27816 _errHandler.reportError(this, re);
27817 _errHandler.recover(this, re);
27818 }
27819 finally {
27820 exitRule();
27821 }
27822 return _localctx;
27823 }
27824
27825 public static class CommonTableExprContext extends ParserRuleContext {
27826 public NameContext name() {
27827 return getRuleContext(NameContext.class,0);
27828 }
27829 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27830 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
27831 public TerminalNode LP_(int i) {
27832 return getToken(SQLServerStatementParser.LP_, i);
27833 }
27834 public SelectContext select() {
27835 return getRuleContext(SelectContext.class,0);
27836 }
27837 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
27838 public TerminalNode RP_(int i) {
27839 return getToken(SQLServerStatementParser.RP_, i);
27840 }
27841 public List<ColumnNameContext> columnName() {
27842 return getRuleContexts(ColumnNameContext.class);
27843 }
27844 public ColumnNameContext columnName(int i) {
27845 return getRuleContext(ColumnNameContext.class,i);
27846 }
27847 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27848 public TerminalNode COMMA_(int i) {
27849 return getToken(SQLServerStatementParser.COMMA_, i);
27850 }
27851 public CommonTableExprContext(ParserRuleContext parent, int invokingState) {
27852 super(parent, invokingState);
27853 }
27854 @Override public int getRuleIndex() { return RULE_commonTableExpr; }
27855 @Override
27856 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27857 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommonTableExpr(this);
27858 else return visitor.visitChildren(this);
27859 }
27860 }
27861
27862 public final CommonTableExprContext commonTableExpr() throws RecognitionException {
27863 CommonTableExprContext _localctx = new CommonTableExprContext(_ctx, getState());
27864 enterRule(_localctx, 570, RULE_commonTableExpr);
27865 int _la;
27866 try {
27867 enterOuterAlt(_localctx, 1);
27868 {
27869 setState(3934);
27870 name();
27871 setState(3946);
27872 _errHandler.sync(this);
27873 _la = _input.LA(1);
27874 if (_la==LP_) {
27875 {
27876 setState(3935);
27877 match(LP_);
27878 setState(3936);
27879 columnName();
27880 setState(3941);
27881 _errHandler.sync(this);
27882 _la = _input.LA(1);
27883 while (_la==COMMA_) {
27884 {
27885 {
27886 setState(3937);
27887 match(COMMA_);
27888 setState(3938);
27889 columnName();
27890 }
27891 }
27892 setState(3943);
27893 _errHandler.sync(this);
27894 _la = _input.LA(1);
27895 }
27896 setState(3944);
27897 match(RP_);
27898 }
27899 }
27900
27901 setState(3948);
27902 match(AS);
27903 setState(3949);
27904 match(LP_);
27905 setState(3950);
27906 select();
27907 setState(3951);
27908 match(RP_);
27909 }
27910 }
27911 catch (RecognitionException re) {
27912 _localctx.exception = re;
27913 _errHandler.reportError(this, re);
27914 _errHandler.recover(this, re);
27915 }
27916 finally {
27917 exitRule();
27918 }
27919 return _localctx;
27920 }
27921
27922 public static class CreateTriggerClauseContext extends ParserRuleContext {
27923 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27924 public List<TerminalNode> FOR() { return getTokens(SQLServerStatementParser.FOR); }
27925 public TerminalNode FOR(int i) {
27926 return getToken(SQLServerStatementParser.FOR, i);
27927 }
27928 public TerminalNode AFTER() { return getToken(SQLServerStatementParser.AFTER, 0); }
27929 public TerminalNode INSTEAD() { return getToken(SQLServerStatementParser.INSTEAD, 0); }
27930 public TerminalNode OF() { return getToken(SQLServerStatementParser.OF, 0); }
27931 public CompoundStatementContext compoundStatement() {
27932 return getRuleContext(CompoundStatementContext.class,0);
27933 }
27934 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
27935 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
27936 public MethodSpecifierContext methodSpecifier() {
27937 return getRuleContext(MethodSpecifierContext.class,0);
27938 }
27939 public List<TerminalNode> WITH() { return getTokens(SQLServerStatementParser.WITH); }
27940 public TerminalNode WITH(int i) {
27941 return getToken(SQLServerStatementParser.WITH, i);
27942 }
27943 public List<DmlTriggerOptionContext> dmlTriggerOption() {
27944 return getRuleContexts(DmlTriggerOptionContext.class);
27945 }
27946 public DmlTriggerOptionContext dmlTriggerOption(int i) {
27947 return getRuleContext(DmlTriggerOptionContext.class,i);
27948 }
27949 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27950 public TerminalNode COMMA_(int i) {
27951 return getToken(SQLServerStatementParser.COMMA_, i);
27952 }
27953 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
27954 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
27955 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
27956 public TerminalNode APPEND() { return getToken(SQLServerStatementParser.APPEND, 0); }
27957 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
27958 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
27959 public CreateTriggerClauseContext(ParserRuleContext parent, int invokingState) {
27960 super(parent, invokingState);
27961 }
27962 @Override public int getRuleIndex() { return RULE_createTriggerClause; }
27963 @Override
27964 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27965 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTriggerClause(this);
27966 else return visitor.visitChildren(this);
27967 }
27968 }
27969
27970 public final CreateTriggerClauseContext createTriggerClause() throws RecognitionException {
27971 CreateTriggerClauseContext _localctx = new CreateTriggerClauseContext(_ctx, getState());
27972 enterRule(_localctx, 572, RULE_createTriggerClause);
27973 int _la;
27974 try {
27975 enterOuterAlt(_localctx, 1);
27976 {
27977 setState(3958);
27978 _errHandler.sync(this);
27979 _la = _input.LA(1);
27980 if (_la==WITH) {
27981 {
27982 setState(3953);
27983 match(WITH);
27984 setState(3954);
27985 dmlTriggerOption();
27986 setState(3955);
27987 match(COMMA_);
27988 setState(3956);
27989 dmlTriggerOption();
27990 }
27991 }
27992
27993 setState(3964);
27994 _errHandler.sync(this);
27995 switch (_input.LA(1)) {
27996 case FOR:
27997 {
27998 setState(3960);
27999 match(FOR);
28000 }
28001 break;
28002 case AFTER:
28003 {
28004 setState(3961);
28005 match(AFTER);
28006 }
28007 break;
28008 case INSTEAD:
28009 {
28010 setState(3962);
28011 match(INSTEAD);
28012 setState(3963);
28013 match(OF);
28014 }
28015 break;
28016 default:
28017 throw new NoViableAltException(this);
28018 }
28019 setState(3967);
28020 _errHandler.sync(this);
28021 _la = _input.LA(1);
28022 if (_la==INSERT) {
28023 {
28024 setState(3966);
28025 match(INSERT);
28026 }
28027 }
28028
28029 setState(3970);
28030 _errHandler.sync(this);
28031 switch ( getInterpreter().adaptivePredict(_input,419,_ctx) ) {
28032 case 1:
28033 {
28034 setState(3969);
28035 match(COMMA_);
28036 }
28037 break;
28038 }
28039 setState(3973);
28040 _errHandler.sync(this);
28041 _la = _input.LA(1);
28042 if (_la==UPDATE) {
28043 {
28044 setState(3972);
28045 match(UPDATE);
28046 }
28047 }
28048
28049 setState(3976);
28050 _errHandler.sync(this);
28051 switch ( getInterpreter().adaptivePredict(_input,421,_ctx) ) {
28052 case 1:
28053 {
28054 setState(3975);
28055 match(COMMA_);
28056 }
28057 break;
28058 }
28059 setState(3979);
28060 _errHandler.sync(this);
28061 _la = _input.LA(1);
28062 if (_la==DELETE) {
28063 {
28064 setState(3978);
28065 match(DELETE);
28066 }
28067 }
28068
28069 setState(3982);
28070 _errHandler.sync(this);
28071 _la = _input.LA(1);
28072 if (_la==COMMA_) {
28073 {
28074 setState(3981);
28075 match(COMMA_);
28076 }
28077 }
28078
28079 setState(3986);
28080 _errHandler.sync(this);
28081 _la = _input.LA(1);
28082 if (_la==WITH) {
28083 {
28084 setState(3984);
28085 match(WITH);
28086 setState(3985);
28087 match(APPEND);
28088 }
28089 }
28090
28091 setState(3991);
28092 _errHandler.sync(this);
28093 _la = _input.LA(1);
28094 if (_la==NOT) {
28095 {
28096 setState(3988);
28097 match(NOT);
28098 setState(3989);
28099 match(FOR);
28100 setState(3990);
28101 match(REPLICATION);
28102 }
28103 }
28104
28105 setState(3993);
28106 match(AS);
28107 setState(3998);
28108 _errHandler.sync(this);
28109 switch (_input.LA(1)) {
28110 case EOF:
28111 case SEMI_:
28112 case SELECT:
28113 case INSERT:
28114 case UPDATE:
28115 case DELETE:
28116 case CREATE:
28117 case ALTER:
28118 case DROP:
28119 case TRUNCATE:
28120 case SET:
28121 case WITH:
28122 case DECLARE:
28123 {
28124 setState(3994);
28125 compoundStatement();
28126 }
28127 break;
28128 case EXTERNAL:
28129 {
28130 setState(3995);
28131 match(EXTERNAL);
28132 setState(3996);
28133 match(NAME);
28134 setState(3997);
28135 methodSpecifier();
28136 }
28137 break;
28138 default:
28139 throw new NoViableAltException(this);
28140 }
28141 }
28142 }
28143 catch (RecognitionException re) {
28144 _localctx.exception = re;
28145 _errHandler.reportError(this, re);
28146 _errHandler.recover(this, re);
28147 }
28148 finally {
28149 exitRule();
28150 }
28151 return _localctx;
28152 }
28153
28154 public static class DmlTriggerOptionContext extends ParserRuleContext {
28155 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
28156 public ExecuteAsClauseContext executeAsClause() {
28157 return getRuleContext(ExecuteAsClauseContext.class,0);
28158 }
28159 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
28160 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
28161 public DmlTriggerOptionContext(ParserRuleContext parent, int invokingState) {
28162 super(parent, invokingState);
28163 }
28164 @Override public int getRuleIndex() { return RULE_dmlTriggerOption; }
28165 @Override
28166 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28167 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDmlTriggerOption(this);
28168 else return visitor.visitChildren(this);
28169 }
28170 }
28171
28172 public final DmlTriggerOptionContext dmlTriggerOption() throws RecognitionException {
28173 DmlTriggerOptionContext _localctx = new DmlTriggerOptionContext(_ctx, getState());
28174 enterRule(_localctx, 574, RULE_dmlTriggerOption);
28175 try {
28176 setState(4005);
28177 _errHandler.sync(this);
28178 switch (_input.LA(1)) {
28179 case ENCRYPTION:
28180 enterOuterAlt(_localctx, 1);
28181 {
28182 setState(4000);
28183 match(ENCRYPTION);
28184 }
28185 break;
28186 case EXECUTE:
28187 case EXEC:
28188 enterOuterAlt(_localctx, 2);
28189 {
28190 setState(4001);
28191 executeAsClause();
28192 }
28193 break;
28194 case NATIVE_COMPILATION:
28195 enterOuterAlt(_localctx, 3);
28196 {
28197 setState(4002);
28198 match(NATIVE_COMPILATION);
28199 }
28200 break;
28201 case SCHEMABINDING:
28202 enterOuterAlt(_localctx, 4);
28203 {
28204 setState(4003);
28205 match(SCHEMABINDING);
28206 }
28207 break;
28208 case COMMA_:
28209 case FOR:
28210 case AFTER:
28211 case INSTEAD:
28212 enterOuterAlt(_localctx, 5);
28213 {
28214 }
28215 break;
28216 default:
28217 throw new NoViableAltException(this);
28218 }
28219 }
28220 catch (RecognitionException re) {
28221 _localctx.exception = re;
28222 _errHandler.reportError(this, re);
28223 _errHandler.recover(this, re);
28224 }
28225 finally {
28226 exitRule();
28227 }
28228 return _localctx;
28229 }
28230
28231 public static class MethodSpecifierContext extends ParserRuleContext {
28232 public List<NameContext> name() {
28233 return getRuleContexts(NameContext.class);
28234 }
28235 public NameContext name(int i) {
28236 return getRuleContext(NameContext.class,i);
28237 }
28238 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
28239 public TerminalNode DOT_(int i) {
28240 return getToken(SQLServerStatementParser.DOT_, i);
28241 }
28242 public MethodSpecifierContext(ParserRuleContext parent, int invokingState) {
28243 super(parent, invokingState);
28244 }
28245 @Override public int getRuleIndex() { return RULE_methodSpecifier; }
28246 @Override
28247 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28248 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMethodSpecifier(this);
28249 else return visitor.visitChildren(this);
28250 }
28251 }
28252
28253 public final MethodSpecifierContext methodSpecifier() throws RecognitionException {
28254 MethodSpecifierContext _localctx = new MethodSpecifierContext(_ctx, getState());
28255 enterRule(_localctx, 576, RULE_methodSpecifier);
28256 try {
28257 enterOuterAlt(_localctx, 1);
28258 {
28259 setState(4007);
28260 name();
28261 setState(4008);
28262 match(DOT_);
28263 setState(4009);
28264 name();
28265 setState(4010);
28266 match(DOT_);
28267 setState(4011);
28268 name();
28269 }
28270 }
28271 catch (RecognitionException re) {
28272 _localctx.exception = re;
28273 _errHandler.reportError(this, re);
28274 _errHandler.recover(this, re);
28275 }
28276 finally {
28277 exitRule();
28278 }
28279 return _localctx;
28280 }
28281
28282 public static class TriggerTargetContext extends ParserRuleContext {
28283 public TableNameContext tableName() {
28284 return getRuleContext(TableNameContext.class,0);
28285 }
28286 public ViewNameContext viewName() {
28287 return getRuleContext(ViewNameContext.class,0);
28288 }
28289 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
28290 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
28291 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
28292 public TriggerTargetContext(ParserRuleContext parent, int invokingState) {
28293 super(parent, invokingState);
28294 }
28295 @Override public int getRuleIndex() { return RULE_triggerTarget; }
28296 @Override
28297 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28298 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTriggerTarget(this);
28299 else return visitor.visitChildren(this);
28300 }
28301 }
28302
28303 public final TriggerTargetContext triggerTarget() throws RecognitionException {
28304 TriggerTargetContext _localctx = new TriggerTargetContext(_ctx, getState());
28305 enterRule(_localctx, 578, RULE_triggerTarget);
28306 try {
28307 setState(4018);
28308 _errHandler.sync(this);
28309 switch ( getInterpreter().adaptivePredict(_input,428,_ctx) ) {
28310 case 1:
28311 enterOuterAlt(_localctx, 1);
28312 {
28313 setState(4013);
28314 tableName();
28315 }
28316 break;
28317 case 2:
28318 enterOuterAlt(_localctx, 2);
28319 {
28320 setState(4014);
28321 viewName();
28322 }
28323 break;
28324 case 3:
28325 enterOuterAlt(_localctx, 3);
28326 {
28327 setState(4015);
28328 match(ALL);
28329 setState(4016);
28330 match(SERVER);
28331 }
28332 break;
28333 case 4:
28334 enterOuterAlt(_localctx, 4);
28335 {
28336 setState(4017);
28337 match(DATABASE);
28338 }
28339 break;
28340 }
28341 }
28342 catch (RecognitionException re) {
28343 _localctx.exception = re;
28344 _errHandler.reportError(this, re);
28345 _errHandler.recover(this, re);
28346 }
28347 finally {
28348 exitRule();
28349 }
28350 return _localctx;
28351 }
28352
28353 public static class CreateOrAlterSequenceClauseContext extends ParserRuleContext {
28354 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
28355 public DataTypeContext dataType() {
28356 return getRuleContext(DataTypeContext.class,0);
28357 }
28358 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
28359 public ExprContext expr() {
28360 return getRuleContext(ExprContext.class,0);
28361 }
28362 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
28363 public TerminalNode RESTART() { return getToken(SQLServerStatementParser.RESTART, 0); }
28364 public TerminalNode INCREMENT() { return getToken(SQLServerStatementParser.INCREMENT, 0); }
28365 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
28366 public TerminalNode MINVALUE() { return getToken(SQLServerStatementParser.MINVALUE, 0); }
28367 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
28368 public TerminalNode MAXVALUE() { return getToken(SQLServerStatementParser.MAXVALUE, 0); }
28369 public TerminalNode CACHE() { return getToken(SQLServerStatementParser.CACHE, 0); }
28370 public TerminalNode CYCLE() { return getToken(SQLServerStatementParser.CYCLE, 0); }
28371 public CreateOrAlterSequenceClauseContext(ParserRuleContext parent, int invokingState) {
28372 super(parent, invokingState);
28373 }
28374 @Override public int getRuleIndex() { return RULE_createOrAlterSequenceClause; }
28375 @Override
28376 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28377 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterSequenceClause(this);
28378 else return visitor.visitChildren(this);
28379 }
28380 }
28381
28382 public final CreateOrAlterSequenceClauseContext createOrAlterSequenceClause() throws RecognitionException {
28383 CreateOrAlterSequenceClauseContext _localctx = new CreateOrAlterSequenceClauseContext(_ctx, getState());
28384 enterRule(_localctx, 580, RULE_createOrAlterSequenceClause);
28385 int _la;
28386 try {
28387 setState(4048);
28388 _errHandler.sync(this);
28389 switch ( getInterpreter().adaptivePredict(_input,432,_ctx) ) {
28390 case 1:
28391 enterOuterAlt(_localctx, 1);
28392 {
28393 setState(4020);
28394 match(AS);
28395 setState(4021);
28396 dataType();
28397 }
28398 break;
28399 case 2:
28400 enterOuterAlt(_localctx, 2);
28401 {
28402 setState(4022);
28403 _la = _input.LA(1);
28404 if ( !(_la==START || _la==RESTART) ) {
28405 _errHandler.recoverInline(this);
28406 }
28407 else {
28408 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
28409 _errHandler.reportMatch(this);
28410 consume();
28411 }
28412 setState(4023);
28413 match(WITH);
28414 setState(4024);
28415 expr(0);
28416 }
28417 break;
28418 case 3:
28419 enterOuterAlt(_localctx, 3);
28420 {
28421 setState(4025);
28422 match(INCREMENT);
28423 setState(4026);
28424 match(BY);
28425 setState(4027);
28426 expr(0);
28427 }
28428 break;
28429 case 4:
28430 enterOuterAlt(_localctx, 4);
28431 {
28432 setState(4028);
28433 match(MINVALUE);
28434 setState(4030);
28435 _errHandler.sync(this);
28436 switch ( getInterpreter().adaptivePredict(_input,429,_ctx) ) {
28437 case 1:
28438 {
28439 setState(4029);
28440 expr(0);
28441 }
28442 break;
28443 }
28444 }
28445 break;
28446 case 5:
28447 enterOuterAlt(_localctx, 5);
28448 {
28449 setState(4032);
28450 match(NO);
28451 setState(4033);
28452 match(MINVALUE);
28453 }
28454 break;
28455 case 6:
28456 enterOuterAlt(_localctx, 6);
28457 {
28458 setState(4034);
28459 match(MAXVALUE);
28460 setState(4036);
28461 _errHandler.sync(this);
28462 switch ( getInterpreter().adaptivePredict(_input,430,_ctx) ) {
28463 case 1:
28464 {
28465 setState(4035);
28466 expr(0);
28467 }
28468 break;
28469 }
28470 }
28471 break;
28472 case 7:
28473 enterOuterAlt(_localctx, 7);
28474 {
28475 setState(4038);
28476 match(NO);
28477 setState(4039);
28478 match(MAXVALUE);
28479 }
28480 break;
28481 case 8:
28482 enterOuterAlt(_localctx, 8);
28483 {
28484 setState(4040);
28485 match(CACHE);
28486 setState(4041);
28487 expr(0);
28488 }
28489 break;
28490 case 9:
28491 enterOuterAlt(_localctx, 9);
28492 {
28493 setState(4042);
28494 match(NO);
28495 setState(4043);
28496 match(CACHE);
28497 }
28498 break;
28499 case 10:
28500 enterOuterAlt(_localctx, 10);
28501 {
28502 setState(4045);
28503 _errHandler.sync(this);
28504 _la = _input.LA(1);
28505 if (_la==NO) {
28506 {
28507 setState(4044);
28508 match(NO);
28509 }
28510 }
28511
28512 setState(4047);
28513 match(CYCLE);
28514 }
28515 break;
28516 }
28517 }
28518 catch (RecognitionException re) {
28519 _localctx.exception = re;
28520 _errHandler.reportError(this, re);
28521 _errHandler.recover(this, re);
28522 }
28523 finally {
28524 exitRule();
28525 }
28526 return _localctx;
28527 }
28528
28529 public static class CreateIndexClauseContext extends ParserRuleContext {
28530 public TerminalNode INCLUDE() { return getToken(SQLServerStatementParser.INCLUDE, 0); }
28531 public ColumnNamesWithSortContext columnNamesWithSort() {
28532 return getRuleContext(ColumnNamesWithSortContext.class,0);
28533 }
28534 public TerminalNode WHERE() { return getToken(SQLServerStatementParser.WHERE, 0); }
28535 public FilterPredicateContext filterPredicate() {
28536 return getRuleContext(FilterPredicateContext.class,0);
28537 }
28538 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
28539 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
28540 public TerminalNode LP_(int i) {
28541 return getToken(SQLServerStatementParser.LP_, i);
28542 }
28543 public List<RelationalIndexOptionContext> relationalIndexOption() {
28544 return getRuleContexts(RelationalIndexOptionContext.class);
28545 }
28546 public RelationalIndexOptionContext relationalIndexOption(int i) {
28547 return getRuleContext(RelationalIndexOptionContext.class,i);
28548 }
28549 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
28550 public TerminalNode RP_(int i) {
28551 return getToken(SQLServerStatementParser.RP_, i);
28552 }
28553 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
28554 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
28555 public SchemaNameContext schemaName() {
28556 return getRuleContext(SchemaNameContext.class,0);
28557 }
28558 public ColumnNameContext columnName() {
28559 return getRuleContext(ColumnNameContext.class,0);
28560 }
28561 public List<NameContext> name() {
28562 return getRuleContexts(NameContext.class);
28563 }
28564 public NameContext name(int i) {
28565 return getRuleContext(NameContext.class,i);
28566 }
28567 public StringLiteralsContext stringLiterals() {
28568 return getRuleContext(StringLiteralsContext.class,0);
28569 }
28570 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28571 public TerminalNode COMMA_(int i) {
28572 return getToken(SQLServerStatementParser.COMMA_, i);
28573 }
28574 public CreateIndexClauseContext(ParserRuleContext parent, int invokingState) {
28575 super(parent, invokingState);
28576 }
28577 @Override public int getRuleIndex() { return RULE_createIndexClause; }
28578 @Override
28579 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28580 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndexClause(this);
28581 else return visitor.visitChildren(this);
28582 }
28583 }
28584
28585 public final CreateIndexClauseContext createIndexClause() throws RecognitionException {
28586 CreateIndexClauseContext _localctx = new CreateIndexClauseContext(_ctx, getState());
28587 enterRule(_localctx, 582, RULE_createIndexClause);
28588 int _la;
28589 try {
28590 enterOuterAlt(_localctx, 1);
28591 {
28592 setState(4052);
28593 _errHandler.sync(this);
28594 _la = _input.LA(1);
28595 if (_la==INCLUDE) {
28596 {
28597 setState(4050);
28598 match(INCLUDE);
28599 setState(4051);
28600 columnNamesWithSort();
28601 }
28602 }
28603
28604 setState(4056);
28605 _errHandler.sync(this);
28606 _la = _input.LA(1);
28607 if (_la==WHERE) {
28608 {
28609 setState(4054);
28610 match(WHERE);
28611 setState(4055);
28612 filterPredicate();
28613 }
28614 }
28615
28616 setState(4070);
28617 _errHandler.sync(this);
28618 _la = _input.LA(1);
28619 if (_la==WITH) {
28620 {
28621 setState(4058);
28622 match(WITH);
28623 setState(4059);
28624 match(LP_);
28625 setState(4060);
28626 relationalIndexOption();
28627 setState(4065);
28628 _errHandler.sync(this);
28629 _la = _input.LA(1);
28630 while (_la==COMMA_) {
28631 {
28632 {
28633 setState(4061);
28634 match(COMMA_);
28635 setState(4062);
28636 relationalIndexOption();
28637 }
28638 }
28639 setState(4067);
28640 _errHandler.sync(this);
28641 _la = _input.LA(1);
28642 }
28643 setState(4068);
28644 match(RP_);
28645 }
28646 }
28647
28648 setState(4081);
28649 _errHandler.sync(this);
28650 _la = _input.LA(1);
28651 if (_la==ON) {
28652 {
28653 setState(4072);
28654 match(ON);
28655 setState(4079);
28656 _errHandler.sync(this);
28657 switch ( getInterpreter().adaptivePredict(_input,437,_ctx) ) {
28658 case 1:
28659 {
28660 setState(4073);
28661 schemaName();
28662 setState(4074);
28663 match(LP_);
28664 setState(4075);
28665 columnName();
28666 setState(4076);
28667 match(RP_);
28668 }
28669 break;
28670 case 2:
28671 {
28672 setState(4078);
28673 name();
28674 }
28675 break;
28676 }
28677 }
28678 }
28679
28680 setState(4088);
28681 _errHandler.sync(this);
28682 _la = _input.LA(1);
28683 if (_la==FILESTREAM_ON) {
28684 {
28685 setState(4083);
28686 match(FILESTREAM_ON);
28687 setState(4086);
28688 _errHandler.sync(this);
28689 switch (_input.LA(1)) {
28690 case TRUNCATE:
28691 case SCHEMA:
28692 case COLUMNS:
28693 case PRECISION:
28694 case FUNCTION:
28695 case TRIGGER:
28696 case CAST:
28697 case SUBSTRING:
28698 case OFF:
28699 case GROUP:
28700 case LIMIT:
28701 case OFFSET:
28702 case SAVEPOINT:
28703 case BOOLEAN:
28704 case ARRAY:
28705 case DATE:
28706 case LOCALTIME:
28707 case LOCALTIMESTAMP:
28708 case QUARTER:
28709 case WEEK:
28710 case DAY:
28711 case SECOND:
28712 case MICROSECOND:
28713 case MAX:
28714 case MIN:
28715 case SUM:
28716 case COUNT:
28717 case AVG:
28718 case ENABLE:
28719 case DISABLE:
28720 case INSTANCE:
28721 case DO:
28722 case DEFINER:
28723 case SQL:
28724 case CASCADED:
28725 case LOCAL:
28726 case NEXT:
28727 case NAME:
28728 case INTEGER:
28729 case TYPE:
28730 case TEXT:
28731 case VIEWS:
28732 case READ_ONLY:
28733 case DATABASE:
28734 case RETURNS:
28735 case DATEPART:
28736 case PASSWORD:
28737 case BINARY:
28738 case HIDDEN_:
28739 case MOD:
28740 case PARTITION:
28741 case PARTITIONS:
28742 case TOP:
28743 case ROW:
28744 case ROWS:
28745 case XOR:
28746 case ALWAYS:
28747 case ROLE:
28748 case START:
28749 case ALGORITHM:
28750 case AUTO:
28751 case BLOCKERS:
28752 case CLUSTERED:
28753 case NONCLUSTERED:
28754 case COLUMNSTORE:
28755 case CONTENT:
28756 case YEARS:
28757 case MONTHS:
28758 case WEEKS:
28759 case DAYS:
28760 case MINUTES:
28761 case DENY:
28762 case DETERMINISTIC:
28763 case DISTRIBUTION:
28764 case DOCUMENT:
28765 case DURABILITY:
28766 case ENCRYPTED:
28767 case FILESTREAM:
28768 case FILETABLE:
28769 case FILLFACTOR:
28770 case FOLLOWING:
28771 case HASH:
28772 case HEAP:
28773 case INBOUND:
28774 case OUTBOUND:
28775 case UNBOUNDED:
28776 case INFINITE:
28777 case LOGIN:
28778 case MASKED:
28779 case MAXDOP:
28780 case MOVE:
28781 case NOCHECK:
28782 case OBJECT:
28783 case ONLINE:
28784 case OVER:
28785 case PAGE:
28786 case PAUSED:
28787 case PERIOD:
28788 case PERSISTED:
28789 case PRECEDING:
28790 case RANDOMIZED:
28791 case RANGE:
28792 case REBUILD:
28793 case REPLICATE:
28794 case REPLICATION:
28795 case RESUMABLE:
28796 case ROWGUIDCOL:
28797 case SAVE:
28798 case SELF:
28799 case SPARSE:
28800 case SWITCH:
28801 case TRAN:
28802 case TRANCOUNT:
28803 case CONTROL:
28804 case CONCAT:
28805 case TAKE:
28806 case OWNERSHIP:
28807 case DEFINITION:
28808 case APPLICATION:
28809 case ASSEMBLY:
28810 case SYMMETRIC:
28811 case ASYMMETRIC:
28812 case SERVER:
28813 case RECEIVE:
28814 case CHANGE:
28815 case TRACE:
28816 case TRACKING:
28817 case RESOURCES:
28818 case SETTINGS:
28819 case STATE:
28820 case AVAILABILITY:
28821 case CREDENTIAL:
28822 case ENDPOINT:
28823 case EVENT:
28824 case NOTIFICATION:
28825 case LINKED:
28826 case AUDIT:
28827 case DDL:
28828 case XML:
28829 case IMPERSONATE:
28830 case SECURABLES:
28831 case AUTHENTICATE:
28832 case EXTERNAL:
28833 case ACCESS:
28834 case ADMINISTER:
28835 case BULK:
28836 case OPERATIONS:
28837 case UNSAFE:
28838 case SHUTDOWN:
28839 case SCOPED:
28840 case CONFIGURATION:
28841 case DATASPACE:
28842 case SERVICE:
28843 case CERTIFICATE:
28844 case CONTRACT:
28845 case ENCRYPTION:
28846 case MASTER:
28847 case DATA:
28848 case SOURCE:
28849 case FILE:
28850 case FORMAT:
28851 case LIBRARY:
28852 case FULLTEXT:
28853 case MASK:
28854 case UNMASK:
28855 case MESSAGE:
28856 case REMOTE:
28857 case BINDING:
28858 case ROUTE:
28859 case SECURITY:
28860 case POLICY:
28861 case AGGREGATE:
28862 case QUEUE:
28863 case RULE:
28864 case SYNONYM:
28865 case COLLECTION:
28866 case SCRIPT:
28867 case KILL:
28868 case BACKUP:
28869 case LOG:
28870 case SHOWPLAN:
28871 case SUBSCRIBE:
28872 case QUERY:
28873 case NOTIFICATIONS:
28874 case CHECKPOINT:
28875 case SEQUENCE:
28876 case ABORT_AFTER_WAIT:
28877 case ALLOW_PAGE_LOCKS:
28878 case ALLOW_ROW_LOCKS:
28879 case ALL_SPARSE_COLUMNS:
28880 case BUCKET_COUNT:
28881 case COLUMNSTORE_ARCHIVE:
28882 case COLUMN_ENCRYPTION_KEY:
28883 case COLUMN_SET:
28884 case COMPRESSION_DELAY:
28885 case DATABASE_DEAULT:
28886 case DATA_COMPRESSION:
28887 case DATA_CONSISTENCY_CHECK:
28888 case ENCRYPTION_TYPE:
28889 case SYSTEM_TIME:
28890 case SYSTEM_VERSIONING:
28891 case TEXTIMAGE_ON:
28892 case WAIT_AT_LOW_PRIORITY:
28893 case STATISTICS_INCREMENTAL:
28894 case STATISTICS_NORECOMPUTE:
28895 case ROUND_ROBIN:
28896 case SCHEMA_AND_DATA:
28897 case SCHEMA_ONLY:
28898 case SORT_IN_TEMPDB:
28899 case IGNORE_DUP_KEY:
28900 case IMPLICIT_TRANSACTIONS:
28901 case MAX_DURATION:
28902 case MEMORY_OPTIMIZED:
28903 case MIGRATION_STATE:
28904 case PAD_INDEX:
28905 case REMOTE_DATA_ARCHIVE:
28906 case FILESTREAM_ON:
28907 case FILETABLE_COLLATE_FILENAME:
28908 case FILETABLE_DIRECTORY:
28909 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
28910 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
28911 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
28912 case FILTER_PREDICATE:
28913 case HISTORY_RETENTION_PERIOD:
28914 case HISTORY_TABLE:
28915 case LOCK_ESCALATION:
28916 case DROP_EXISTING:
28917 case ROW_NUMBER:
28918 case FIRST:
28919 case DATETIME2:
28920 case OUTPUT:
28921 case INSERTED:
28922 case DELETED:
28923 case FILENAME:
28924 case MAXSIZE:
28925 case FILEGROWTH:
28926 case UNLIMITED:
28927 case KB:
28928 case MB:
28929 case GB:
28930 case TB:
28931 case MEMORY_OPTIMIZED_DATA:
28932 case FILEGROUP:
28933 case NON_TRANSACTED_ACCESS:
28934 case DB_CHAINING:
28935 case TRUSTWORTHY:
28936 case FORWARD_ONLY:
28937 case KEYSET:
28938 case FAST_FORWARD:
28939 case SCROLL_LOCKS:
28940 case OPTIMISTIC:
28941 case TYPE_WARNING:
28942 case SCHEMABINDING:
28943 case CALLER:
28944 case OWNER:
28945 case SNAPSHOT:
28946 case REPEATABLE:
28947 case SERIALIZABLE:
28948 case NATIVE_COMPILATION:
28949 case VIEW_METADATA:
28950 case INSTEAD:
28951 case APPEND:
28952 case INCREMENT:
28953 case CACHE:
28954 case MINVALUE:
28955 case MAXVALUE:
28956 case RESTART:
28957 case LOB_COMPACTION:
28958 case COMPRESS_ALL_ROW_GROUPS:
28959 case REORGANIZE:
28960 case RESUME:
28961 case PAUSE:
28962 case ABORT:
28963 case ACCELERATED_DATABASE_RECOVERY:
28964 case PERSISTENT_VERSION_STORE_FILEGROUP:
28965 case IMMEDIATE:
28966 case NO_WAIT:
28967 case TARGET_RECOVERY_TIME:
28968 case SECONDS:
28969 case HONOR_BROKER_PRIORITY:
28970 case ERROR_BROKER_CONVERSATIONS:
28971 case NEW_BROKER:
28972 case DISABLE_BROKER:
28973 case ENABLE_BROKER:
28974 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
28975 case READ_COMMITTED_SNAPSHOT:
28976 case ALLOW_SNAPSHOT_ISOLATION:
28977 case RECURSIVE_TRIGGERS:
28978 case QUOTED_IDENTIFIER:
28979 case NUMERIC_ROUNDABORT:
28980 case CONCAT_NULL_YIELDS_NULL:
28981 case COMPATIBILITY_LEVEL:
28982 case ARITHABORT:
28983 case ANSI_WARNINGS:
28984 case ANSI_PADDING:
28985 case ANSI_NULLS:
28986 case ANSI_NULL_DEFAULT:
28987 case PAGE_VERIFY:
28988 case CHECKSUM:
28989 case TORN_PAGE_DETECTION:
28990 case BULK_LOGGED:
28991 case RECOVERY:
28992 case TOTAL_EXECUTION_CPU_TIME_MS:
28993 case TOTAL_COMPILE_CPU_TIME_MS:
28994 case STALE_CAPTURE_POLICY_THRESHOLD:
28995 case EXECUTION_COUNT:
28996 case QUERY_CAPTURE_POLICY:
28997 case WAIT_STATS_CAPTURE_MODE:
28998 case MAX_PLANS_PER_QUERY:
28999 case QUERY_CAPTURE_MODE:
29000 case SIZE_BASED_CLEANUP_MODE:
29001 case INTERVAL_LENGTH_MINUTES:
29002 case MAX_STORAGE_SIZE_MB:
29003 case DATA_FLUSH_INTERVAL_SECONDS:
29004 case CLEANUP_POLICY:
29005 case CUSTOM:
29006 case STALE_QUERY_THRESHOLD_DAYS:
29007 case OPERATION_MODE:
29008 case QUERY_STORE:
29009 case CURSOR_DEFAULT:
29010 case GLOBAL:
29011 case CURSOR_CLOSE_ON_COMMIT:
29012 case HOURS:
29013 case CHANGE_RETENTION:
29014 case AUTO_CLEANUP:
29015 case CHANGE_TRACKING:
29016 case AUTOMATIC_TUNING:
29017 case FORCE_LAST_GOOD_PLAN:
29018 case AUTO_UPDATE_STATISTICS_ASYNC:
29019 case AUTO_UPDATE_STATISTICS:
29020 case AUTO_SHRINK:
29021 case AUTO_CREATE_STATISTICS:
29022 case INCREMENTAL:
29023 case AUTO_CLOSE:
29024 case DATA_RETENTION:
29025 case TEMPORAL_HISTORY_RETENTION:
29026 case EDITION:
29027 case MIXED_PAGE_ALLOCATION:
29028 case DISABLED:
29029 case ALLOWED:
29030 case HADR:
29031 case MULTI_USER:
29032 case RESTRICTED_USER:
29033 case SINGLE_USER:
29034 case OFFLINE:
29035 case EMERGENCY:
29036 case SUSPEND:
29037 case DATE_CORRELATION_OPTIMIZATION:
29038 case ELASTIC_POOL:
29039 case SERVICE_OBJECTIVE:
29040 case DATABASE_NAME:
29041 case ALLOW_CONNECTIONS:
29042 case GEO:
29043 case NAMED:
29044 case DATEFIRST:
29045 case BACKUP_STORAGE_REDUNDANCY:
29046 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
29047 case SECONDARY:
29048 case FAILOVER:
29049 case DEFAULT_FULLTEXT_LANGUAGE:
29050 case DEFAULT_LANGUAGE:
29051 case INLINE:
29052 case NESTED_TRIGGERS:
29053 case TRANSFORM_NOISE_WORDS:
29054 case TWO_DIGIT_YEAR_CUTOFF:
29055 case PERSISTENT_LOG_BUFFER:
29056 case DIRECTORY_NAME:
29057 case DATEFORMAT:
29058 case DELAYED_DURABILITY:
29059 case AUTHORIZATION:
29060 case TRANSFER:
29061 case PROVIDER:
29062 case SEARCH:
29063 case MEMBER:
29064 case IDENTIFIER_:
29065 case DELIMITED_IDENTIFIER_:
29066 {
29067 setState(4084);
29068 name();
29069 }
29070 break;
29071 case STRING_:
29072 case NCHAR_TEXT:
29073 {
29074 setState(4085);
29075 stringLiterals();
29076 }
29077 break;
29078 default:
29079 throw new NoViableAltException(this);
29080 }
29081 }
29082 }
29083
29084 }
29085 }
29086 catch (RecognitionException re) {
29087 _localctx.exception = re;
29088 _errHandler.reportError(this, re);
29089 _errHandler.recover(this, re);
29090 }
29091 finally {
29092 exitRule();
29093 }
29094 return _localctx;
29095 }
29096
29097 public static class FilterPredicateContext extends ParserRuleContext {
29098 public List<ConjunctContext> conjunct() {
29099 return getRuleContexts(ConjunctContext.class);
29100 }
29101 public ConjunctContext conjunct(int i) {
29102 return getRuleContext(ConjunctContext.class,i);
29103 }
29104 public List<TerminalNode> AND() { return getTokens(SQLServerStatementParser.AND); }
29105 public TerminalNode AND(int i) {
29106 return getToken(SQLServerStatementParser.AND, i);
29107 }
29108 public FilterPredicateContext(ParserRuleContext parent, int invokingState) {
29109 super(parent, invokingState);
29110 }
29111 @Override public int getRuleIndex() { return RULE_filterPredicate; }
29112 @Override
29113 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29114 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFilterPredicate(this);
29115 else return visitor.visitChildren(this);
29116 }
29117 }
29118
29119 public final FilterPredicateContext filterPredicate() throws RecognitionException {
29120 FilterPredicateContext _localctx = new FilterPredicateContext(_ctx, getState());
29121 enterRule(_localctx, 584, RULE_filterPredicate);
29122 int _la;
29123 try {
29124 enterOuterAlt(_localctx, 1);
29125 {
29126 setState(4090);
29127 conjunct();
29128 setState(4095);
29129 _errHandler.sync(this);
29130 _la = _input.LA(1);
29131 while (_la==AND) {
29132 {
29133 {
29134 setState(4091);
29135 match(AND);
29136 setState(4092);
29137 conjunct();
29138 }
29139 }
29140 setState(4097);
29141 _errHandler.sync(this);
29142 _la = _input.LA(1);
29143 }
29144 }
29145 }
29146 catch (RecognitionException re) {
29147 _localctx.exception = re;
29148 _errHandler.reportError(this, re);
29149 _errHandler.recover(this, re);
29150 }
29151 finally {
29152 exitRule();
29153 }
29154 return _localctx;
29155 }
29156
29157 public static class ConjunctContext extends ParserRuleContext {
29158 public ColumnNameContext columnName() {
29159 return getRuleContext(ColumnNameContext.class,0);
29160 }
29161 public TerminalNode IN() { return getToken(SQLServerStatementParser.IN, 0); }
29162 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
29163 public List<ExprContext> expr() {
29164 return getRuleContexts(ExprContext.class);
29165 }
29166 public ExprContext expr(int i) {
29167 return getRuleContext(ExprContext.class,i);
29168 }
29169 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
29170 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29171 public TerminalNode COMMA_(int i) {
29172 return getToken(SQLServerStatementParser.COMMA_, i);
29173 }
29174 public ComparisonOperatorContext comparisonOperator() {
29175 return getRuleContext(ComparisonOperatorContext.class,0);
29176 }
29177 public ConjunctContext(ParserRuleContext parent, int invokingState) {
29178 super(parent, invokingState);
29179 }
29180 @Override public int getRuleIndex() { return RULE_conjunct; }
29181 @Override
29182 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29183 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConjunct(this);
29184 else return visitor.visitChildren(this);
29185 }
29186 }
29187
29188 public final ConjunctContext conjunct() throws RecognitionException {
29189 ConjunctContext _localctx = new ConjunctContext(_ctx, getState());
29190 enterRule(_localctx, 586, RULE_conjunct);
29191 int _la;
29192 try {
29193 setState(4115);
29194 _errHandler.sync(this);
29195 switch ( getInterpreter().adaptivePredict(_input,443,_ctx) ) {
29196 case 1:
29197 enterOuterAlt(_localctx, 1);
29198 {
29199 setState(4098);
29200 columnName();
29201 setState(4099);
29202 match(IN);
29203 setState(4100);
29204 match(LP_);
29205 setState(4101);
29206 expr(0);
29207 setState(4106);
29208 _errHandler.sync(this);
29209 _la = _input.LA(1);
29210 while (_la==COMMA_) {
29211 {
29212 {
29213 setState(4102);
29214 match(COMMA_);
29215 setState(4103);
29216 expr(0);
29217 }
29218 }
29219 setState(4108);
29220 _errHandler.sync(this);
29221 _la = _input.LA(1);
29222 }
29223 setState(4109);
29224 match(RP_);
29225 }
29226 break;
29227 case 2:
29228 enterOuterAlt(_localctx, 2);
29229 {
29230 setState(4111);
29231 columnName();
29232 setState(4112);
29233 comparisonOperator();
29234 setState(4113);
29235 expr(0);
29236 }
29237 break;
29238 }
29239 }
29240 catch (RecognitionException re) {
29241 _localctx.exception = re;
29242 _errHandler.reportError(this, re);
29243 _errHandler.recover(this, re);
29244 }
29245 finally {
29246 exitRule();
29247 }
29248 return _localctx;
29249 }
29250
29251 public static class AlterIndexClauseContext extends ParserRuleContext {
29252 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
29253 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
29254 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
29255 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
29256 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
29257 public List<RelationalIndexOptionContext> relationalIndexOption() {
29258 return getRuleContexts(RelationalIndexOptionContext.class);
29259 }
29260 public RelationalIndexOptionContext relationalIndexOption(int i) {
29261 return getRuleContext(RelationalIndexOptionContext.class,i);
29262 }
29263 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
29264 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
29265 public ExprContext expr() {
29266 return getRuleContext(ExprContext.class,0);
29267 }
29268 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29269 public TerminalNode COMMA_(int i) {
29270 return getToken(SQLServerStatementParser.COMMA_, i);
29271 }
29272 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
29273 public TerminalNode REORGANIZE() { return getToken(SQLServerStatementParser.REORGANIZE, 0); }
29274 public ReorganizeOptionContext reorganizeOption() {
29275 return getRuleContext(ReorganizeOptionContext.class,0);
29276 }
29277 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
29278 public List<SetIndexOptionContext> setIndexOption() {
29279 return getRuleContexts(SetIndexOptionContext.class);
29280 }
29281 public SetIndexOptionContext setIndexOption(int i) {
29282 return getRuleContext(SetIndexOptionContext.class,i);
29283 }
29284 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
29285 public List<ResumableIndexOptionsContext> resumableIndexOptions() {
29286 return getRuleContexts(ResumableIndexOptionsContext.class);
29287 }
29288 public ResumableIndexOptionsContext resumableIndexOptions(int i) {
29289 return getRuleContext(ResumableIndexOptionsContext.class,i);
29290 }
29291 public TerminalNode PAUSE() { return getToken(SQLServerStatementParser.PAUSE, 0); }
29292 public TerminalNode ABORT() { return getToken(SQLServerStatementParser.ABORT, 0); }
29293 public AlterIndexClauseContext(ParserRuleContext parent, int invokingState) {
29294 super(parent, invokingState);
29295 }
29296 @Override public int getRuleIndex() { return RULE_alterIndexClause; }
29297 @Override
29298 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29299 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterIndexClause(this);
29300 else return visitor.visitChildren(this);
29301 }
29302 }
29303
29304 public final AlterIndexClauseContext alterIndexClause() throws RecognitionException {
29305 AlterIndexClauseContext _localctx = new AlterIndexClauseContext(_ctx, getState());
29306 enterRule(_localctx, 588, RULE_alterIndexClause);
29307 int _la;
29308 try {
29309 setState(4179);
29310 _errHandler.sync(this);
29311 switch (_input.LA(1)) {
29312 case REBUILD:
29313 enterOuterAlt(_localctx, 1);
29314 {
29315 setState(4117);
29316 match(REBUILD);
29317 setState(4124);
29318 _errHandler.sync(this);
29319 _la = _input.LA(1);
29320 if (_la==PARTITION) {
29321 {
29322 setState(4118);
29323 match(PARTITION);
29324 setState(4119);
29325 match(EQ_);
29326 setState(4122);
29327 _errHandler.sync(this);
29328 switch (_input.LA(1)) {
29329 case ALL:
29330 {
29331 setState(4120);
29332 match(ALL);
29333 }
29334 break;
29335 case NOT_:
29336 case TILDE_:
29337 case PLUS_:
29338 case MINUS_:
29339 case LP_:
29340 case LBE_:
29341 case QUESTION_:
29342 case DOLLAR_:
29343 case TRUNCATE:
29344 case SCHEMA:
29345 case COLUMNS:
29346 case PRECISION:
29347 case FUNCTION:
29348 case TRIGGER:
29349 case CASE:
29350 case CAST:
29351 case SUBSTRING:
29352 case OFF:
29353 case IF:
29354 case NOT:
29355 case NULL:
29356 case TRUE:
29357 case FALSE:
29358 case EXISTS:
29359 case GROUP:
29360 case LIMIT:
29361 case OFFSET:
29362 case SAVEPOINT:
29363 case BOOLEAN:
29364 case CHAR:
29365 case ARRAY:
29366 case INTERVAL:
29367 case DATE:
29368 case TIME:
29369 case TIMESTAMP:
29370 case LOCALTIME:
29371 case LOCALTIMESTAMP:
29372 case QUARTER:
29373 case WEEK:
29374 case DAY:
29375 case SECOND:
29376 case MICROSECOND:
29377 case MAX:
29378 case MIN:
29379 case SUM:
29380 case COUNT:
29381 case AVG:
29382 case ENABLE:
29383 case DISABLE:
29384 case INSTANCE:
29385 case DO:
29386 case DEFINER:
29387 case SQL:
29388 case CASCADED:
29389 case LOCAL:
29390 case NEXT:
29391 case NAME:
29392 case INTEGER:
29393 case TYPE:
29394 case TEXT:
29395 case VIEWS:
29396 case READ_ONLY:
29397 case DATABASE:
29398 case RETURNS:
29399 case DATEPART:
29400 case PASSWORD:
29401 case BINARY:
29402 case HIDDEN_:
29403 case MOD:
29404 case PARTITION:
29405 case PARTITIONS:
29406 case TOP:
29407 case ROW:
29408 case ROWS:
29409 case XOR:
29410 case ALWAYS:
29411 case ROLE:
29412 case START:
29413 case ALGORITHM:
29414 case AUTO:
29415 case BLOCKERS:
29416 case CLUSTERED:
29417 case NONCLUSTERED:
29418 case COLUMNSTORE:
29419 case CONTENT:
29420 case CONVERT:
29421 case YEARS:
29422 case MONTHS:
29423 case WEEKS:
29424 case DAYS:
29425 case MINUTES:
29426 case DENY:
29427 case DETERMINISTIC:
29428 case DISTRIBUTION:
29429 case DOCUMENT:
29430 case DURABILITY:
29431 case ENCRYPTED:
29432 case FILESTREAM:
29433 case FILETABLE:
29434 case FILLFACTOR:
29435 case FOLLOWING:
29436 case HASH:
29437 case HEAP:
29438 case INBOUND:
29439 case OUTBOUND:
29440 case UNBOUNDED:
29441 case INFINITE:
29442 case LOGIN:
29443 case MASKED:
29444 case MAXDOP:
29445 case MOVE:
29446 case NOCHECK:
29447 case OBJECT:
29448 case ONLINE:
29449 case OVER:
29450 case PAGE:
29451 case PAUSED:
29452 case PERIOD:
29453 case PERSISTED:
29454 case PRECEDING:
29455 case RANDOMIZED:
29456 case RANGE:
29457 case REBUILD:
29458 case REPLICATE:
29459 case REPLICATION:
29460 case RESUMABLE:
29461 case ROWGUIDCOL:
29462 case SAVE:
29463 case SELF:
29464 case SPARSE:
29465 case SWITCH:
29466 case TRAN:
29467 case TRANCOUNT:
29468 case CONTROL:
29469 case CONCAT:
29470 case TAKE:
29471 case OWNERSHIP:
29472 case DEFINITION:
29473 case APPLICATION:
29474 case ASSEMBLY:
29475 case SYMMETRIC:
29476 case ASYMMETRIC:
29477 case SERVER:
29478 case RECEIVE:
29479 case CHANGE:
29480 case TRACE:
29481 case TRACKING:
29482 case RESOURCES:
29483 case SETTINGS:
29484 case STATE:
29485 case AVAILABILITY:
29486 case CREDENTIAL:
29487 case ENDPOINT:
29488 case EVENT:
29489 case NOTIFICATION:
29490 case LINKED:
29491 case AUDIT:
29492 case DDL:
29493 case XML:
29494 case IMPERSONATE:
29495 case SECURABLES:
29496 case AUTHENTICATE:
29497 case EXTERNAL:
29498 case ACCESS:
29499 case ADMINISTER:
29500 case BULK:
29501 case OPERATIONS:
29502 case UNSAFE:
29503 case SHUTDOWN:
29504 case SCOPED:
29505 case CONFIGURATION:
29506 case DATASPACE:
29507 case SERVICE:
29508 case CERTIFICATE:
29509 case CONTRACT:
29510 case ENCRYPTION:
29511 case MASTER:
29512 case DATA:
29513 case SOURCE:
29514 case FILE:
29515 case FORMAT:
29516 case LIBRARY:
29517 case FULLTEXT:
29518 case MASK:
29519 case UNMASK:
29520 case MESSAGE:
29521 case REMOTE:
29522 case BINDING:
29523 case ROUTE:
29524 case SECURITY:
29525 case POLICY:
29526 case AGGREGATE:
29527 case QUEUE:
29528 case RULE:
29529 case SYNONYM:
29530 case COLLECTION:
29531 case SCRIPT:
29532 case KILL:
29533 case BACKUP:
29534 case LOG:
29535 case SHOWPLAN:
29536 case SUBSCRIBE:
29537 case QUERY:
29538 case NOTIFICATIONS:
29539 case CHECKPOINT:
29540 case SEQUENCE:
29541 case ABORT_AFTER_WAIT:
29542 case ALLOW_PAGE_LOCKS:
29543 case ALLOW_ROW_LOCKS:
29544 case ALL_SPARSE_COLUMNS:
29545 case BUCKET_COUNT:
29546 case COLUMNSTORE_ARCHIVE:
29547 case COLUMN_ENCRYPTION_KEY:
29548 case COLUMN_SET:
29549 case COMPRESSION_DELAY:
29550 case DATABASE_DEAULT:
29551 case DATA_COMPRESSION:
29552 case DATA_CONSISTENCY_CHECK:
29553 case ENCRYPTION_TYPE:
29554 case SYSTEM_TIME:
29555 case SYSTEM_VERSIONING:
29556 case TEXTIMAGE_ON:
29557 case WAIT_AT_LOW_PRIORITY:
29558 case STATISTICS_INCREMENTAL:
29559 case STATISTICS_NORECOMPUTE:
29560 case ROUND_ROBIN:
29561 case SCHEMA_AND_DATA:
29562 case SCHEMA_ONLY:
29563 case SORT_IN_TEMPDB:
29564 case IGNORE_DUP_KEY:
29565 case IMPLICIT_TRANSACTIONS:
29566 case MAX_DURATION:
29567 case MEMORY_OPTIMIZED:
29568 case MIGRATION_STATE:
29569 case PAD_INDEX:
29570 case REMOTE_DATA_ARCHIVE:
29571 case FILESTREAM_ON:
29572 case FILETABLE_COLLATE_FILENAME:
29573 case FILETABLE_DIRECTORY:
29574 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
29575 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
29576 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
29577 case FILTER_PREDICATE:
29578 case HISTORY_RETENTION_PERIOD:
29579 case HISTORY_TABLE:
29580 case LOCK_ESCALATION:
29581 case DROP_EXISTING:
29582 case ROW_NUMBER:
29583 case FIRST:
29584 case DATETIME2:
29585 case OUTPUT:
29586 case INSERTED:
29587 case DELETED:
29588 case FILENAME:
29589 case MAXSIZE:
29590 case FILEGROWTH:
29591 case UNLIMITED:
29592 case KB:
29593 case MB:
29594 case GB:
29595 case TB:
29596 case MEMORY_OPTIMIZED_DATA:
29597 case FILEGROUP:
29598 case NON_TRANSACTED_ACCESS:
29599 case DB_CHAINING:
29600 case TRUSTWORTHY:
29601 case FORWARD_ONLY:
29602 case KEYSET:
29603 case FAST_FORWARD:
29604 case SCROLL_LOCKS:
29605 case OPTIMISTIC:
29606 case TYPE_WARNING:
29607 case SCHEMABINDING:
29608 case CALLER:
29609 case OWNER:
29610 case SNAPSHOT:
29611 case REPEATABLE:
29612 case SERIALIZABLE:
29613 case NATIVE_COMPILATION:
29614 case VIEW_METADATA:
29615 case INSTEAD:
29616 case APPEND:
29617 case INCREMENT:
29618 case CACHE:
29619 case MINVALUE:
29620 case MAXVALUE:
29621 case RESTART:
29622 case LOB_COMPACTION:
29623 case COMPRESS_ALL_ROW_GROUPS:
29624 case REORGANIZE:
29625 case RESUME:
29626 case PAUSE:
29627 case ABORT:
29628 case ACCELERATED_DATABASE_RECOVERY:
29629 case PERSISTENT_VERSION_STORE_FILEGROUP:
29630 case IMMEDIATE:
29631 case NO_WAIT:
29632 case TARGET_RECOVERY_TIME:
29633 case SECONDS:
29634 case HONOR_BROKER_PRIORITY:
29635 case ERROR_BROKER_CONVERSATIONS:
29636 case NEW_BROKER:
29637 case DISABLE_BROKER:
29638 case ENABLE_BROKER:
29639 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
29640 case READ_COMMITTED_SNAPSHOT:
29641 case ALLOW_SNAPSHOT_ISOLATION:
29642 case RECURSIVE_TRIGGERS:
29643 case QUOTED_IDENTIFIER:
29644 case NUMERIC_ROUNDABORT:
29645 case CONCAT_NULL_YIELDS_NULL:
29646 case COMPATIBILITY_LEVEL:
29647 case ARITHABORT:
29648 case ANSI_WARNINGS:
29649 case ANSI_PADDING:
29650 case ANSI_NULLS:
29651 case ANSI_NULL_DEFAULT:
29652 case PAGE_VERIFY:
29653 case CHECKSUM:
29654 case TORN_PAGE_DETECTION:
29655 case BULK_LOGGED:
29656 case RECOVERY:
29657 case TOTAL_EXECUTION_CPU_TIME_MS:
29658 case TOTAL_COMPILE_CPU_TIME_MS:
29659 case STALE_CAPTURE_POLICY_THRESHOLD:
29660 case EXECUTION_COUNT:
29661 case QUERY_CAPTURE_POLICY:
29662 case WAIT_STATS_CAPTURE_MODE:
29663 case MAX_PLANS_PER_QUERY:
29664 case QUERY_CAPTURE_MODE:
29665 case SIZE_BASED_CLEANUP_MODE:
29666 case INTERVAL_LENGTH_MINUTES:
29667 case MAX_STORAGE_SIZE_MB:
29668 case DATA_FLUSH_INTERVAL_SECONDS:
29669 case CLEANUP_POLICY:
29670 case CUSTOM:
29671 case STALE_QUERY_THRESHOLD_DAYS:
29672 case OPERATION_MODE:
29673 case QUERY_STORE:
29674 case CURSOR_DEFAULT:
29675 case GLOBAL:
29676 case CURSOR_CLOSE_ON_COMMIT:
29677 case HOURS:
29678 case CHANGE_RETENTION:
29679 case AUTO_CLEANUP:
29680 case CHANGE_TRACKING:
29681 case AUTOMATIC_TUNING:
29682 case FORCE_LAST_GOOD_PLAN:
29683 case AUTO_UPDATE_STATISTICS_ASYNC:
29684 case AUTO_UPDATE_STATISTICS:
29685 case AUTO_SHRINK:
29686 case AUTO_CREATE_STATISTICS:
29687 case INCREMENTAL:
29688 case AUTO_CLOSE:
29689 case DATA_RETENTION:
29690 case TEMPORAL_HISTORY_RETENTION:
29691 case EDITION:
29692 case MIXED_PAGE_ALLOCATION:
29693 case DISABLED:
29694 case ALLOWED:
29695 case HADR:
29696 case MULTI_USER:
29697 case RESTRICTED_USER:
29698 case SINGLE_USER:
29699 case OFFLINE:
29700 case EMERGENCY:
29701 case SUSPEND:
29702 case DATE_CORRELATION_OPTIMIZATION:
29703 case ELASTIC_POOL:
29704 case SERVICE_OBJECTIVE:
29705 case DATABASE_NAME:
29706 case ALLOW_CONNECTIONS:
29707 case GEO:
29708 case NAMED:
29709 case DATEFIRST:
29710 case BACKUP_STORAGE_REDUNDANCY:
29711 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
29712 case SECONDARY:
29713 case FAILOVER:
29714 case DEFAULT_FULLTEXT_LANGUAGE:
29715 case DEFAULT_LANGUAGE:
29716 case INLINE:
29717 case NESTED_TRIGGERS:
29718 case TRANSFORM_NOISE_WORDS:
29719 case TWO_DIGIT_YEAR_CUTOFF:
29720 case PERSISTENT_LOG_BUFFER:
29721 case DIRECTORY_NAME:
29722 case DATEFORMAT:
29723 case DELAYED_DURABILITY:
29724 case AUTHORIZATION:
29725 case TRANSFER:
29726 case PROVIDER:
29727 case SEARCH:
29728 case MEMBER:
29729 case IDENTIFIER_:
29730 case DELIMITED_IDENTIFIER_:
29731 case STRING_:
29732 case NUMBER_:
29733 case HEX_DIGIT_:
29734 case BIT_NUM_:
29735 case NCHAR_TEXT:
29736 {
29737 setState(4121);
29738 expr(0);
29739 }
29740 break;
29741 default:
29742 throw new NoViableAltException(this);
29743 }
29744 }
29745 }
29746
29747 setState(4138);
29748 _errHandler.sync(this);
29749 _la = _input.LA(1);
29750 if (_la==WITH) {
29751 {
29752 setState(4126);
29753 match(WITH);
29754 setState(4127);
29755 match(LP_);
29756 setState(4128);
29757 relationalIndexOption();
29758 setState(4133);
29759 _errHandler.sync(this);
29760 _la = _input.LA(1);
29761 while (_la==COMMA_) {
29762 {
29763 {
29764 setState(4129);
29765 match(COMMA_);
29766 setState(4130);
29767 relationalIndexOption();
29768 }
29769 }
29770 setState(4135);
29771 _errHandler.sync(this);
29772 _la = _input.LA(1);
29773 }
29774 setState(4136);
29775 match(RP_);
29776 }
29777 }
29778
29779 }
29780 break;
29781 case DISABLE:
29782 enterOuterAlt(_localctx, 2);
29783 {
29784 setState(4140);
29785 match(DISABLE);
29786 }
29787 break;
29788 case REORGANIZE:
29789 enterOuterAlt(_localctx, 3);
29790 {
29791 setState(4141);
29792 match(REORGANIZE);
29793 setState(4145);
29794 _errHandler.sync(this);
29795 _la = _input.LA(1);
29796 if (_la==PARTITION) {
29797 {
29798 setState(4142);
29799 match(PARTITION);
29800 setState(4143);
29801 match(EQ_);
29802 setState(4144);
29803 expr(0);
29804 }
29805 }
29806
29807 setState(4152);
29808 _errHandler.sync(this);
29809 _la = _input.LA(1);
29810 if (_la==WITH) {
29811 {
29812 setState(4147);
29813 match(WITH);
29814 setState(4148);
29815 match(LP_);
29816 setState(4149);
29817 reorganizeOption();
29818 setState(4150);
29819 match(RP_);
29820 }
29821 }
29822
29823 }
29824 break;
29825 case SET:
29826 enterOuterAlt(_localctx, 4);
29827 {
29828 setState(4154);
29829 match(SET);
29830 setState(4155);
29831 match(LP_);
29832 setState(4156);
29833 setIndexOption();
29834 {
29835 setState(4157);
29836 match(COMMA_);
29837 setState(4158);
29838 setIndexOption();
29839 }
29840 setState(4160);
29841 match(RP_);
29842 }
29843 break;
29844 case RESUME:
29845 enterOuterAlt(_localctx, 5);
29846 {
29847 setState(4162);
29848 match(RESUME);
29849 setState(4175);
29850 _errHandler.sync(this);
29851 _la = _input.LA(1);
29852 if (_la==WITH) {
29853 {
29854 setState(4163);
29855 match(WITH);
29856 setState(4164);
29857 match(LP_);
29858 setState(4165);
29859 resumableIndexOptions();
29860 setState(4170);
29861 _errHandler.sync(this);
29862 _la = _input.LA(1);
29863 while (_la==COMMA_) {
29864 {
29865 {
29866 setState(4166);
29867 match(COMMA_);
29868 setState(4167);
29869 resumableIndexOptions();
29870 }
29871 }
29872 setState(4172);
29873 _errHandler.sync(this);
29874 _la = _input.LA(1);
29875 }
29876 setState(4173);
29877 match(RP_);
29878 }
29879 }
29880
29881 }
29882 break;
29883 case PAUSE:
29884 enterOuterAlt(_localctx, 6);
29885 {
29886 setState(4177);
29887 match(PAUSE);
29888 }
29889 break;
29890 case ABORT:
29891 enterOuterAlt(_localctx, 7);
29892 {
29893 setState(4178);
29894 match(ABORT);
29895 }
29896 break;
29897 default:
29898 throw new NoViableAltException(this);
29899 }
29900 }
29901 catch (RecognitionException re) {
29902 _localctx.exception = re;
29903 _errHandler.reportError(this, re);
29904 _errHandler.recover(this, re);
29905 }
29906 finally {
29907 exitRule();
29908 }
29909 return _localctx;
29910 }
29911
29912 public static class RelationalIndexOptionContext extends ParserRuleContext {
29913 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
29914 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
29915 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
29916 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
29917 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
29918 public ExprContext expr() {
29919 return getRuleContext(ExprContext.class,0);
29920 }
29921 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
29922 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
29923 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
29924 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
29925 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
29926 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
29927 public LowPriorityLockWaitContext lowPriorityLockWait() {
29928 return getRuleContext(LowPriorityLockWaitContext.class,0);
29929 }
29930 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
29931 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
29932 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
29933 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
29934 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
29935 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
29936 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
29937 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
29938 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
29939 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
29940 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
29941 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
29942 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
29943 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
29944 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
29945 public List<PartitionNumberRangeContext> partitionNumberRange() {
29946 return getRuleContexts(PartitionNumberRangeContext.class);
29947 }
29948 public PartitionNumberRangeContext partitionNumberRange(int i) {
29949 return getRuleContext(PartitionNumberRangeContext.class,i);
29950 }
29951 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29952 public TerminalNode COMMA_(int i) {
29953 return getToken(SQLServerStatementParser.COMMA_, i);
29954 }
29955 public RelationalIndexOptionContext(ParserRuleContext parent, int invokingState) {
29956 super(parent, invokingState);
29957 }
29958 @Override public int getRuleIndex() { return RULE_relationalIndexOption; }
29959 @Override
29960 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29961 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRelationalIndexOption(this);
29962 else return visitor.visitChildren(this);
29963 }
29964 }
29965
29966 public final RelationalIndexOptionContext relationalIndexOption() throws RecognitionException {
29967 RelationalIndexOptionContext _localctx = new RelationalIndexOptionContext(_ctx, getState());
29968 enterRule(_localctx, 590, RULE_relationalIndexOption);
29969 int _la;
29970 try {
29971 int _alt;
29972 setState(4248);
29973 _errHandler.sync(this);
29974 switch (_input.LA(1)) {
29975 case PAD_INDEX:
29976 enterOuterAlt(_localctx, 1);
29977 {
29978 setState(4181);
29979 match(PAD_INDEX);
29980 setState(4182);
29981 match(EQ_);
29982 setState(4183);
29983 _la = _input.LA(1);
29984 if ( !(_la==ON || _la==OFF) ) {
29985 _errHandler.recoverInline(this);
29986 }
29987 else {
29988 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29989 _errHandler.reportMatch(this);
29990 consume();
29991 }
29992 }
29993 break;
29994 case FILLFACTOR:
29995 enterOuterAlt(_localctx, 2);
29996 {
29997 setState(4184);
29998 match(FILLFACTOR);
29999 setState(4185);
30000 match(EQ_);
30001 setState(4186);
30002 expr(0);
30003 }
30004 break;
30005 case SORT_IN_TEMPDB:
30006 enterOuterAlt(_localctx, 3);
30007 {
30008 setState(4187);
30009 match(SORT_IN_TEMPDB);
30010 setState(4188);
30011 match(EQ_);
30012 setState(4189);
30013 _la = _input.LA(1);
30014 if ( !(_la==ON || _la==OFF) ) {
30015 _errHandler.recoverInline(this);
30016 }
30017 else {
30018 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30019 _errHandler.reportMatch(this);
30020 consume();
30021 }
30022 }
30023 break;
30024 case IGNORE_DUP_KEY:
30025 enterOuterAlt(_localctx, 4);
30026 {
30027 setState(4190);
30028 match(IGNORE_DUP_KEY);
30029 setState(4191);
30030 match(EQ_);
30031 setState(4192);
30032 _la = _input.LA(1);
30033 if ( !(_la==ON || _la==OFF) ) {
30034 _errHandler.recoverInline(this);
30035 }
30036 else {
30037 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30038 _errHandler.reportMatch(this);
30039 consume();
30040 }
30041 }
30042 break;
30043 case STATISTICS_NORECOMPUTE:
30044 enterOuterAlt(_localctx, 5);
30045 {
30046 setState(4193);
30047 match(STATISTICS_NORECOMPUTE);
30048 setState(4194);
30049 match(EQ_);
30050 setState(4195);
30051 _la = _input.LA(1);
30052 if ( !(_la==ON || _la==OFF) ) {
30053 _errHandler.recoverInline(this);
30054 }
30055 else {
30056 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30057 _errHandler.reportMatch(this);
30058 consume();
30059 }
30060 }
30061 break;
30062 case STATISTICS_INCREMENTAL:
30063 enterOuterAlt(_localctx, 6);
30064 {
30065 setState(4196);
30066 match(STATISTICS_INCREMENTAL);
30067 setState(4197);
30068 match(EQ_);
30069 setState(4198);
30070 _la = _input.LA(1);
30071 if ( !(_la==ON || _la==OFF) ) {
30072 _errHandler.recoverInline(this);
30073 }
30074 else {
30075 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30076 _errHandler.reportMatch(this);
30077 consume();
30078 }
30079 }
30080 break;
30081 case DROP_EXISTING:
30082 enterOuterAlt(_localctx, 7);
30083 {
30084 setState(4199);
30085 match(DROP_EXISTING);
30086 setState(4200);
30087 match(EQ_);
30088 setState(4201);
30089 _la = _input.LA(1);
30090 if ( !(_la==ON || _la==OFF) ) {
30091 _errHandler.recoverInline(this);
30092 }
30093 else {
30094 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30095 _errHandler.reportMatch(this);
30096 consume();
30097 }
30098 }
30099 break;
30100 case ONLINE:
30101 enterOuterAlt(_localctx, 8);
30102 {
30103 setState(4202);
30104 match(ONLINE);
30105 setState(4203);
30106 match(EQ_);
30107 setState(4209);
30108 _errHandler.sync(this);
30109 switch (_input.LA(1)) {
30110 case ON:
30111 {
30112 setState(4204);
30113 match(ON);
30114 setState(4206);
30115 _errHandler.sync(this);
30116 _la = _input.LA(1);
30117 if (_la==WAIT_AT_LOW_PRIORITY) {
30118 {
30119 setState(4205);
30120 lowPriorityLockWait();
30121 }
30122 }
30123
30124 }
30125 break;
30126 case OFF:
30127 {
30128 setState(4208);
30129 match(OFF);
30130 }
30131 break;
30132 default:
30133 throw new NoViableAltException(this);
30134 }
30135 }
30136 break;
30137 case RESUMABLE:
30138 enterOuterAlt(_localctx, 9);
30139 {
30140 setState(4211);
30141 match(RESUMABLE);
30142 setState(4212);
30143 match(EQ_);
30144 setState(4213);
30145 _la = _input.LA(1);
30146 if ( !(_la==ON || _la==OFF) ) {
30147 _errHandler.recoverInline(this);
30148 }
30149 else {
30150 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30151 _errHandler.reportMatch(this);
30152 consume();
30153 }
30154 }
30155 break;
30156 case MAX_DURATION:
30157 enterOuterAlt(_localctx, 10);
30158 {
30159 setState(4214);
30160 match(MAX_DURATION);
30161 setState(4215);
30162 match(EQ_);
30163 setState(4216);
30164 expr(0);
30165 setState(4218);
30166 _errHandler.sync(this);
30167 _la = _input.LA(1);
30168 if (_la==MINUTES) {
30169 {
30170 setState(4217);
30171 match(MINUTES);
30172 }
30173 }
30174
30175 }
30176 break;
30177 case ALLOW_ROW_LOCKS:
30178 enterOuterAlt(_localctx, 11);
30179 {
30180 setState(4220);
30181 match(ALLOW_ROW_LOCKS);
30182 setState(4221);
30183 match(EQ_);
30184 setState(4222);
30185 _la = _input.LA(1);
30186 if ( !(_la==ON || _la==OFF) ) {
30187 _errHandler.recoverInline(this);
30188 }
30189 else {
30190 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30191 _errHandler.reportMatch(this);
30192 consume();
30193 }
30194 }
30195 break;
30196 case ALLOW_PAGE_LOCKS:
30197 enterOuterAlt(_localctx, 12);
30198 {
30199 setState(4223);
30200 match(ALLOW_PAGE_LOCKS);
30201 setState(4224);
30202 match(EQ_);
30203 setState(4225);
30204 _la = _input.LA(1);
30205 if ( !(_la==ON || _la==OFF) ) {
30206 _errHandler.recoverInline(this);
30207 }
30208 else {
30209 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30210 _errHandler.reportMatch(this);
30211 consume();
30212 }
30213 }
30214 break;
30215 case OPTIMIZE_FOR_SEQUENTIAL_KEY:
30216 enterOuterAlt(_localctx, 13);
30217 {
30218 setState(4226);
30219 match(OPTIMIZE_FOR_SEQUENTIAL_KEY);
30220 setState(4227);
30221 match(EQ_);
30222 setState(4228);
30223 _la = _input.LA(1);
30224 if ( !(_la==ON || _la==OFF) ) {
30225 _errHandler.recoverInline(this);
30226 }
30227 else {
30228 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30229 _errHandler.reportMatch(this);
30230 consume();
30231 }
30232 }
30233 break;
30234 case MAXDOP:
30235 enterOuterAlt(_localctx, 14);
30236 {
30237 setState(4229);
30238 match(MAXDOP);
30239 setState(4230);
30240 match(EQ_);
30241 setState(4231);
30242 expr(0);
30243 }
30244 break;
30245 case DATA_COMPRESSION:
30246 enterOuterAlt(_localctx, 15);
30247 {
30248 setState(4232);
30249 match(DATA_COMPRESSION);
30250 setState(4233);
30251 match(EQ_);
30252 setState(4234);
30253 _la = _input.LA(1);
30254 if ( !(((((_la - 224)) & ~0x3f) == 0 && ((1L << (_la - 224)) & ((1L << (ROW - 224)) | (1L << (COLUMNSTORE - 224)) | (1L << (NONE - 224)) | (1L << (PAGE - 224)))) != 0) || _la==COLUMNSTORE_ARCHIVE) ) {
30255 _errHandler.recoverInline(this);
30256 }
30257 else {
30258 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30259 _errHandler.reportMatch(this);
30260 consume();
30261 }
30262 setState(4246);
30263 _errHandler.sync(this);
30264 _la = _input.LA(1);
30265 if (_la==ON) {
30266 {
30267 setState(4235);
30268 match(ON);
30269 setState(4236);
30270 match(PARTITIONS);
30271 setState(4237);
30272 match(LP_);
30273 setState(4238);
30274 partitionNumberRange();
30275 setState(4243);
30276 _errHandler.sync(this);
30277 _alt = getInterpreter().adaptivePredict(_input,456,_ctx);
30278 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
30279 if ( _alt==1 ) {
30280 {
30281 {
30282 setState(4239);
30283 match(COMMA_);
30284 setState(4240);
30285 partitionNumberRange();
30286 }
30287 }
30288 }
30289 setState(4245);
30290 _errHandler.sync(this);
30291 _alt = getInterpreter().adaptivePredict(_input,456,_ctx);
30292 }
30293 }
30294 }
30295
30296 }
30297 break;
30298 default:
30299 throw new NoViableAltException(this);
30300 }
30301 }
30302 catch (RecognitionException re) {
30303 _localctx.exception = re;
30304 _errHandler.reportError(this, re);
30305 _errHandler.recover(this, re);
30306 }
30307 finally {
30308 exitRule();
30309 }
30310 return _localctx;
30311 }
30312
30313 public static class PartitionNumberRangeContext extends ParserRuleContext {
30314 public List<ExprContext> expr() {
30315 return getRuleContexts(ExprContext.class);
30316 }
30317 public ExprContext expr(int i) {
30318 return getRuleContext(ExprContext.class,i);
30319 }
30320 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
30321 public PartitionNumberRangeContext(ParserRuleContext parent, int invokingState) {
30322 super(parent, invokingState);
30323 }
30324 @Override public int getRuleIndex() { return RULE_partitionNumberRange; }
30325 @Override
30326 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30327 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionNumberRange(this);
30328 else return visitor.visitChildren(this);
30329 }
30330 }
30331
30332 public final PartitionNumberRangeContext partitionNumberRange() throws RecognitionException {
30333 PartitionNumberRangeContext _localctx = new PartitionNumberRangeContext(_ctx, getState());
30334 enterRule(_localctx, 592, RULE_partitionNumberRange);
30335 int _la;
30336 try {
30337 enterOuterAlt(_localctx, 1);
30338 {
30339 setState(4250);
30340 expr(0);
30341 setState(4253);
30342 _errHandler.sync(this);
30343 _la = _input.LA(1);
30344 if (_la==TO) {
30345 {
30346 setState(4251);
30347 match(TO);
30348 setState(4252);
30349 expr(0);
30350 }
30351 }
30352
30353 }
30354 }
30355 catch (RecognitionException re) {
30356 _localctx.exception = re;
30357 _errHandler.reportError(this, re);
30358 _errHandler.recover(this, re);
30359 }
30360 finally {
30361 exitRule();
30362 }
30363 return _localctx;
30364 }
30365
30366 public static class ReorganizeOptionContext extends ParserRuleContext {
30367 public TerminalNode LOB_COMPACTION() { return getToken(SQLServerStatementParser.LOB_COMPACTION, 0); }
30368 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
30369 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
30370 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
30371 public TerminalNode COMPRESS_ALL_ROW_GROUPS() { return getToken(SQLServerStatementParser.COMPRESS_ALL_ROW_GROUPS, 0); }
30372 public ReorganizeOptionContext(ParserRuleContext parent, int invokingState) {
30373 super(parent, invokingState);
30374 }
30375 @Override public int getRuleIndex() { return RULE_reorganizeOption; }
30376 @Override
30377 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30378 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitReorganizeOption(this);
30379 else return visitor.visitChildren(this);
30380 }
30381 }
30382
30383 public final ReorganizeOptionContext reorganizeOption() throws RecognitionException {
30384 ReorganizeOptionContext _localctx = new ReorganizeOptionContext(_ctx, getState());
30385 enterRule(_localctx, 594, RULE_reorganizeOption);
30386 int _la;
30387 try {
30388 setState(4261);
30389 _errHandler.sync(this);
30390 switch (_input.LA(1)) {
30391 case LOB_COMPACTION:
30392 enterOuterAlt(_localctx, 1);
30393 {
30394 setState(4255);
30395 match(LOB_COMPACTION);
30396 setState(4256);
30397 match(EQ_);
30398 setState(4257);
30399 _la = _input.LA(1);
30400 if ( !(_la==ON || _la==OFF) ) {
30401 _errHandler.recoverInline(this);
30402 }
30403 else {
30404 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30405 _errHandler.reportMatch(this);
30406 consume();
30407 }
30408 }
30409 break;
30410 case COMPRESS_ALL_ROW_GROUPS:
30411 enterOuterAlt(_localctx, 2);
30412 {
30413 setState(4258);
30414 match(COMPRESS_ALL_ROW_GROUPS);
30415 setState(4259);
30416 match(EQ_);
30417 setState(4260);
30418 _la = _input.LA(1);
30419 if ( !(_la==ON || _la==OFF) ) {
30420 _errHandler.recoverInline(this);
30421 }
30422 else {
30423 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30424 _errHandler.reportMatch(this);
30425 consume();
30426 }
30427 }
30428 break;
30429 default:
30430 throw new NoViableAltException(this);
30431 }
30432 }
30433 catch (RecognitionException re) {
30434 _localctx.exception = re;
30435 _errHandler.reportError(this, re);
30436 _errHandler.recover(this, re);
30437 }
30438 finally {
30439 exitRule();
30440 }
30441 return _localctx;
30442 }
30443
30444 public static class SetIndexOptionContext extends ParserRuleContext {
30445 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
30446 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
30447 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
30448 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
30449 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
30450 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
30451 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
30452 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
30453 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
30454 public ExprContext expr() {
30455 return getRuleContext(ExprContext.class,0);
30456 }
30457 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
30458 public SetIndexOptionContext(ParserRuleContext parent, int invokingState) {
30459 super(parent, invokingState);
30460 }
30461 @Override public int getRuleIndex() { return RULE_setIndexOption; }
30462 @Override
30463 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30464 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetIndexOption(this);
30465 else return visitor.visitChildren(this);
30466 }
30467 }
30468
30469 public final SetIndexOptionContext setIndexOption() throws RecognitionException {
30470 SetIndexOptionContext _localctx = new SetIndexOptionContext(_ctx, getState());
30471 enterRule(_localctx, 596, RULE_setIndexOption);
30472 int _la;
30473 try {
30474 setState(4284);
30475 _errHandler.sync(this);
30476 switch (_input.LA(1)) {
30477 case ALLOW_ROW_LOCKS:
30478 enterOuterAlt(_localctx, 1);
30479 {
30480 setState(4263);
30481 match(ALLOW_ROW_LOCKS);
30482 setState(4264);
30483 match(EQ_);
30484 setState(4265);
30485 _la = _input.LA(1);
30486 if ( !(_la==ON || _la==OFF) ) {
30487 _errHandler.recoverInline(this);
30488 }
30489 else {
30490 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30491 _errHandler.reportMatch(this);
30492 consume();
30493 }
30494 }
30495 break;
30496 case ALLOW_PAGE_LOCKS:
30497 enterOuterAlt(_localctx, 2);
30498 {
30499 setState(4266);
30500 match(ALLOW_PAGE_LOCKS);
30501 setState(4267);
30502 match(EQ_);
30503 setState(4268);
30504 _la = _input.LA(1);
30505 if ( !(_la==ON || _la==OFF) ) {
30506 _errHandler.recoverInline(this);
30507 }
30508 else {
30509 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30510 _errHandler.reportMatch(this);
30511 consume();
30512 }
30513 }
30514 break;
30515 case OPTIMIZE_FOR_SEQUENTIAL_KEY:
30516 enterOuterAlt(_localctx, 3);
30517 {
30518 setState(4269);
30519 match(OPTIMIZE_FOR_SEQUENTIAL_KEY);
30520 setState(4270);
30521 match(EQ_);
30522 setState(4271);
30523 _la = _input.LA(1);
30524 if ( !(_la==ON || _la==OFF) ) {
30525 _errHandler.recoverInline(this);
30526 }
30527 else {
30528 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30529 _errHandler.reportMatch(this);
30530 consume();
30531 }
30532 }
30533 break;
30534 case IGNORE_DUP_KEY:
30535 enterOuterAlt(_localctx, 4);
30536 {
30537 setState(4272);
30538 match(IGNORE_DUP_KEY);
30539 setState(4273);
30540 match(EQ_);
30541 setState(4274);
30542 _la = _input.LA(1);
30543 if ( !(_la==ON || _la==OFF) ) {
30544 _errHandler.recoverInline(this);
30545 }
30546 else {
30547 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30548 _errHandler.reportMatch(this);
30549 consume();
30550 }
30551 }
30552 break;
30553 case STATISTICS_NORECOMPUTE:
30554 enterOuterAlt(_localctx, 5);
30555 {
30556 setState(4275);
30557 match(STATISTICS_NORECOMPUTE);
30558 setState(4276);
30559 match(EQ_);
30560 setState(4277);
30561 _la = _input.LA(1);
30562 if ( !(_la==ON || _la==OFF) ) {
30563 _errHandler.recoverInline(this);
30564 }
30565 else {
30566 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30567 _errHandler.reportMatch(this);
30568 consume();
30569 }
30570 }
30571 break;
30572 case COMPRESSION_DELAY:
30573 enterOuterAlt(_localctx, 6);
30574 {
30575 setState(4278);
30576 match(COMPRESSION_DELAY);
30577 setState(4279);
30578 match(EQ_);
30579 {
30580 setState(4280);
30581 expr(0);
30582 setState(4282);
30583 _errHandler.sync(this);
30584 _la = _input.LA(1);
30585 if (_la==MINUTES) {
30586 {
30587 setState(4281);
30588 match(MINUTES);
30589 }
30590 }
30591
30592 }
30593 }
30594 break;
30595 default:
30596 throw new NoViableAltException(this);
30597 }
30598 }
30599 catch (RecognitionException re) {
30600 _localctx.exception = re;
30601 _errHandler.reportError(this, re);
30602 _errHandler.recover(this, re);
30603 }
30604 finally {
30605 exitRule();
30606 }
30607 return _localctx;
30608 }
30609
30610 public static class ResumableIndexOptionsContext extends ParserRuleContext {
30611 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
30612 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
30613 public ExprContext expr() {
30614 return getRuleContext(ExprContext.class,0);
30615 }
30616 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
30617 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
30618 public LowPriorityLockWaitContext lowPriorityLockWait() {
30619 return getRuleContext(LowPriorityLockWaitContext.class,0);
30620 }
30621 public ResumableIndexOptionsContext(ParserRuleContext parent, int invokingState) {
30622 super(parent, invokingState);
30623 }
30624 @Override public int getRuleIndex() { return RULE_resumableIndexOptions; }
30625 @Override
30626 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30627 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitResumableIndexOptions(this);
30628 else return visitor.visitChildren(this);
30629 }
30630 }
30631
30632 public final ResumableIndexOptionsContext resumableIndexOptions() throws RecognitionException {
30633 ResumableIndexOptionsContext _localctx = new ResumableIndexOptionsContext(_ctx, getState());
30634 enterRule(_localctx, 598, RULE_resumableIndexOptions);
30635 int _la;
30636 try {
30637 setState(4296);
30638 _errHandler.sync(this);
30639 switch (_input.LA(1)) {
30640 case MAXDOP:
30641 enterOuterAlt(_localctx, 1);
30642 {
30643 setState(4286);
30644 match(MAXDOP);
30645 setState(4287);
30646 match(EQ_);
30647 setState(4288);
30648 expr(0);
30649 }
30650 break;
30651 case MAX_DURATION:
30652 enterOuterAlt(_localctx, 2);
30653 {
30654 setState(4289);
30655 match(MAX_DURATION);
30656 setState(4290);
30657 match(EQ_);
30658 setState(4291);
30659 expr(0);
30660 setState(4293);
30661 _errHandler.sync(this);
30662 _la = _input.LA(1);
30663 if (_la==MINUTES) {
30664 {
30665 setState(4292);
30666 match(MINUTES);
30667 }
30668 }
30669
30670 }
30671 break;
30672 case WAIT_AT_LOW_PRIORITY:
30673 enterOuterAlt(_localctx, 3);
30674 {
30675 setState(4295);
30676 lowPriorityLockWait();
30677 }
30678 break;
30679 default:
30680 throw new NoViableAltException(this);
30681 }
30682 }
30683 catch (RecognitionException re) {
30684 _localctx.exception = re;
30685 _errHandler.reportError(this, re);
30686 _errHandler.recover(this, re);
30687 }
30688 finally {
30689 exitRule();
30690 }
30691 return _localctx;
30692 }
30693
30694 public static class AlterDatabaseClauseContext extends ParserRuleContext {
30695 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
30696 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
30697 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
30698 public DatabaseNameContext databaseName() {
30699 return getRuleContext(DatabaseNameContext.class,0);
30700 }
30701 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
30702 public IgnoredIdentifierContext ignoredIdentifier() {
30703 return getRuleContext(IgnoredIdentifierContext.class,0);
30704 }
30705 public FileAndFilegroupOptionsContext fileAndFilegroupOptions() {
30706 return getRuleContext(FileAndFilegroupOptionsContext.class,0);
30707 }
30708 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
30709 public List<AlterDatabaseOptionSpecContext> alterDatabaseOptionSpec() {
30710 return getRuleContexts(AlterDatabaseOptionSpecContext.class);
30711 }
30712 public AlterDatabaseOptionSpecContext alterDatabaseOptionSpec(int i) {
30713 return getRuleContext(AlterDatabaseOptionSpecContext.class,i);
30714 }
30715 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
30716 public TerminalNode COMMA_(int i) {
30717 return getToken(SQLServerStatementParser.COMMA_, i);
30718 }
30719 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
30720 public TerminationContext termination() {
30721 return getRuleContext(TerminationContext.class,0);
30722 }
30723 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
30724 public List<EditionOptionsContext> editionOptions() {
30725 return getRuleContexts(EditionOptionsContext.class);
30726 }
30727 public EditionOptionsContext editionOptions(int i) {
30728 return getRuleContext(EditionOptionsContext.class,i);
30729 }
30730 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
30731 public TerminalNode BACKUP_STORAGE_REDUNDANCY() { return getToken(SQLServerStatementParser.BACKUP_STORAGE_REDUNDANCY, 0); }
30732 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
30733 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
30734 public TerminalNode SECONDARY() { return getToken(SQLServerStatementParser.SECONDARY, 0); }
30735 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
30736 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
30737 public List<AddSecondaryOptionContext> addSecondaryOption() {
30738 return getRuleContexts(AddSecondaryOptionContext.class);
30739 }
30740 public AddSecondaryOptionContext addSecondaryOption(int i) {
30741 return getRuleContext(AddSecondaryOptionContext.class,i);
30742 }
30743 public TerminalNode FAILOVER() { return getToken(SQLServerStatementParser.FAILOVER, 0); }
30744 public TerminalNode FORCE_FAILOVER_ALLOW_DATA_LOSS() { return getToken(SQLServerStatementParser.FORCE_FAILOVER_ALLOW_DATA_LOSS, 0); }
30745 public AlterDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
30746 super(parent, invokingState);
30747 }
30748 @Override public int getRuleIndex() { return RULE_alterDatabaseClause; }
30749 @Override
30750 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30751 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabaseClause(this);
30752 else return visitor.visitChildren(this);
30753 }
30754 }
30755
30756 public final AlterDatabaseClauseContext alterDatabaseClause() throws RecognitionException {
30757 AlterDatabaseClauseContext _localctx = new AlterDatabaseClauseContext(_ctx, getState());
30758 enterRule(_localctx, 600, RULE_alterDatabaseClause);
30759 int _la;
30760 try {
30761 setState(4352);
30762 _errHandler.sync(this);
30763 switch ( getInterpreter().adaptivePredict(_input,470,_ctx) ) {
30764 case 1:
30765 enterOuterAlt(_localctx, 1);
30766 {
30767 setState(4298);
30768 match(MODIFY);
30769 setState(4299);
30770 match(NAME);
30771 setState(4300);
30772 match(EQ_);
30773 setState(4301);
30774 databaseName();
30775 }
30776 break;
30777 case 2:
30778 enterOuterAlt(_localctx, 2);
30779 {
30780 setState(4302);
30781 match(COLLATE);
30782 setState(4303);
30783 ignoredIdentifier();
30784 }
30785 break;
30786 case 3:
30787 enterOuterAlt(_localctx, 3);
30788 {
30789 setState(4304);
30790 fileAndFilegroupOptions();
30791 }
30792 break;
30793 case 4:
30794 enterOuterAlt(_localctx, 4);
30795 {
30796 setState(4305);
30797 match(SET);
30798 setState(4306);
30799 alterDatabaseOptionSpec();
30800 setState(4311);
30801 _errHandler.sync(this);
30802 _la = _input.LA(1);
30803 while (_la==COMMA_) {
30804 {
30805 {
30806 setState(4307);
30807 match(COMMA_);
30808 setState(4308);
30809 alterDatabaseOptionSpec();
30810 }
30811 }
30812 setState(4313);
30813 _errHandler.sync(this);
30814 _la = _input.LA(1);
30815 }
30816 setState(4316);
30817 _errHandler.sync(this);
30818 _la = _input.LA(1);
30819 if (_la==WITH) {
30820 {
30821 setState(4314);
30822 match(WITH);
30823 setState(4315);
30824 termination();
30825 }
30826 }
30827
30828 }
30829 break;
30830 case 5:
30831 enterOuterAlt(_localctx, 5);
30832 {
30833 setState(4318);
30834 match(MODIFY);
30835 setState(4319);
30836 match(LP_);
30837 setState(4320);
30838 editionOptions();
30839 setState(4325);
30840 _errHandler.sync(this);
30841 _la = _input.LA(1);
30842 while (_la==COMMA_) {
30843 {
30844 {
30845 setState(4321);
30846 match(COMMA_);
30847 setState(4322);
30848 editionOptions();
30849 }
30850 }
30851 setState(4327);
30852 _errHandler.sync(this);
30853 _la = _input.LA(1);
30854 }
30855 setState(4328);
30856 match(RP_);
30857 }
30858 break;
30859 case 6:
30860 enterOuterAlt(_localctx, 6);
30861 {
30862 setState(4330);
30863 match(MODIFY);
30864 setState(4331);
30865 match(BACKUP_STORAGE_REDUNDANCY);
30866 setState(4332);
30867 match(EQ_);
30868 setState(4333);
30869 match(STRING_);
30870 }
30871 break;
30872 case 7:
30873 enterOuterAlt(_localctx, 7);
30874 {
30875 setState(4334);
30876 match(ADD);
30877 setState(4335);
30878 match(SECONDARY);
30879 setState(4336);
30880 match(ON);
30881 setState(4337);
30882 match(SERVER);
30883 setState(4338);
30884 ignoredIdentifier();
30885 setState(4348);
30886 _errHandler.sync(this);
30887 _la = _input.LA(1);
30888 if (_la==WITH) {
30889 {
30890 setState(4339);
30891 match(WITH);
30892 setState(4340);
30893 addSecondaryOption();
30894 setState(4345);
30895 _errHandler.sync(this);
30896 _la = _input.LA(1);
30897 while (_la==COMMA_) {
30898 {
30899 {
30900 setState(4341);
30901 match(COMMA_);
30902 setState(4342);
30903 addSecondaryOption();
30904 }
30905 }
30906 setState(4347);
30907 _errHandler.sync(this);
30908 _la = _input.LA(1);
30909 }
30910 }
30911 }
30912
30913 }
30914 break;
30915 case 8:
30916 enterOuterAlt(_localctx, 8);
30917 {
30918 setState(4350);
30919 match(FAILOVER);
30920 }
30921 break;
30922 case 9:
30923 enterOuterAlt(_localctx, 9);
30924 {
30925 setState(4351);
30926 match(FORCE_FAILOVER_ALLOW_DATA_LOSS);
30927 }
30928 break;
30929 }
30930 }
30931 catch (RecognitionException re) {
30932 _localctx.exception = re;
30933 _errHandler.reportError(this, re);
30934 _errHandler.recover(this, re);
30935 }
30936 finally {
30937 exitRule();
30938 }
30939 return _localctx;
30940 }
30941
30942 public static class AddSecondaryOptionContext extends ParserRuleContext {
30943 public Token SECONDARY_TYPE;
30944 public TerminalNode ALLOW_CONNECTIONS() { return getToken(SQLServerStatementParser.ALLOW_CONNECTIONS, 0); }
30945 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
30946 public TerminalNode EQ_(int i) {
30947 return getToken(SQLServerStatementParser.EQ_, i);
30948 }
30949 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
30950 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
30951 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
30952 public ServiceObjectiveContext serviceObjective() {
30953 return getRuleContext(ServiceObjectiveContext.class,0);
30954 }
30955 public TerminalNode DATABASE_NAME() { return getToken(SQLServerStatementParser.DATABASE_NAME, 0); }
30956 public DatabaseNameContext databaseName() {
30957 return getRuleContext(DatabaseNameContext.class,0);
30958 }
30959 public TerminalNode GEO() { return getToken(SQLServerStatementParser.GEO, 0); }
30960 public TerminalNode NAMED() { return getToken(SQLServerStatementParser.NAMED, 0); }
30961 public AddSecondaryOptionContext(ParserRuleContext parent, int invokingState) {
30962 super(parent, invokingState);
30963 }
30964 @Override public int getRuleIndex() { return RULE_addSecondaryOption; }
30965 @Override
30966 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30967 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddSecondaryOption(this);
30968 else return visitor.visitChildren(this);
30969 }
30970 }
30971
30972 public final AddSecondaryOptionContext addSecondaryOption() throws RecognitionException {
30973 AddSecondaryOptionContext _localctx = new AddSecondaryOptionContext(_ctx, getState());
30974 enterRule(_localctx, 602, RULE_addSecondaryOption);
30975 int _la;
30976 try {
30977 setState(4366);
30978 _errHandler.sync(this);
30979 switch (_input.LA(1)) {
30980 case ALLOW_CONNECTIONS:
30981 enterOuterAlt(_localctx, 1);
30982 {
30983 setState(4354);
30984 match(ALLOW_CONNECTIONS);
30985 setState(4355);
30986 match(EQ_);
30987 setState(4356);
30988 _la = _input.LA(1);
30989 if ( !(_la==ALL || _la==NO) ) {
30990 _errHandler.recoverInline(this);
30991 }
30992 else {
30993 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30994 _errHandler.reportMatch(this);
30995 consume();
30996 }
30997 }
30998 break;
30999 case SERVICE_OBJECTIVE:
31000 enterOuterAlt(_localctx, 2);
31001 {
31002 setState(4357);
31003 match(SERVICE_OBJECTIVE);
31004 setState(4358);
31005 match(EQ_);
31006 setState(4364);
31007 _errHandler.sync(this);
31008 switch (_input.LA(1)) {
31009 case ELASTIC_POOL:
31010 case STRING_:
31011 {
31012 setState(4359);
31013 serviceObjective();
31014 }
31015 break;
31016 case DATABASE_NAME:
31017 {
31018 setState(4360);
31019 match(DATABASE_NAME);
31020 setState(4361);
31021 match(EQ_);
31022 setState(4362);
31023 databaseName();
31024 }
31025 break;
31026 case GEO:
31027 case NAMED:
31028 {
31029 setState(4363);
31030 ((AddSecondaryOptionContext)_localctx).SECONDARY_TYPE = _input.LT(1);
31031 _la = _input.LA(1);
31032 if ( !(_la==GEO || _la==NAMED) ) {
31033 ((AddSecondaryOptionContext)_localctx).SECONDARY_TYPE = (Token)_errHandler.recoverInline(this);
31034 }
31035 else {
31036 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31037 _errHandler.reportMatch(this);
31038 consume();
31039 }
31040 }
31041 break;
31042 default:
31043 throw new NoViableAltException(this);
31044 }
31045 }
31046 break;
31047 default:
31048 throw new NoViableAltException(this);
31049 }
31050 }
31051 catch (RecognitionException re) {
31052 _localctx.exception = re;
31053 _errHandler.reportError(this, re);
31054 _errHandler.recover(this, re);
31055 }
31056 finally {
31057 exitRule();
31058 }
31059 return _localctx;
31060 }
31061
31062 public static class EditionOptionsContext extends ParserRuleContext {
31063 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
31064 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31065 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
31066 public TerminalNode MB() { return getToken(SQLServerStatementParser.MB, 0); }
31067 public TerminalNode GB() { return getToken(SQLServerStatementParser.GB, 0); }
31068 public TerminalNode EDITION() { return getToken(SQLServerStatementParser.EDITION, 0); }
31069 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
31070 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
31071 public ServiceObjectiveContext serviceObjective() {
31072 return getRuleContext(ServiceObjectiveContext.class,0);
31073 }
31074 public EditionOptionsContext(ParserRuleContext parent, int invokingState) {
31075 super(parent, invokingState);
31076 }
31077 @Override public int getRuleIndex() { return RULE_editionOptions; }
31078 @Override
31079 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31080 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEditionOptions(this);
31081 else return visitor.visitChildren(this);
31082 }
31083 }
31084
31085 public final EditionOptionsContext editionOptions() throws RecognitionException {
31086 EditionOptionsContext _localctx = new EditionOptionsContext(_ctx, getState());
31087 enterRule(_localctx, 604, RULE_editionOptions);
31088 int _la;
31089 try {
31090 setState(4381);
31091 _errHandler.sync(this);
31092 switch (_input.LA(1)) {
31093 case MAXSIZE:
31094 enterOuterAlt(_localctx, 1);
31095 {
31096 setState(4368);
31097 match(MAXSIZE);
31098 setState(4369);
31099 match(EQ_);
31100 setState(4370);
31101 match(NUMBER_);
31102 setState(4371);
31103 _la = _input.LA(1);
31104 if ( !(_la==MB || _la==GB) ) {
31105 _errHandler.recoverInline(this);
31106 }
31107 else {
31108 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31109 _errHandler.reportMatch(this);
31110 consume();
31111 }
31112 }
31113 break;
31114 case EDITION:
31115 enterOuterAlt(_localctx, 2);
31116 {
31117 setState(4372);
31118 match(EDITION);
31119 setState(4373);
31120 match(EQ_);
31121 setState(4374);
31122 match(STRING_);
31123 }
31124 break;
31125 case SERVICE_OBJECTIVE:
31126 enterOuterAlt(_localctx, 3);
31127 {
31128 setState(4375);
31129 match(SERVICE_OBJECTIVE);
31130 setState(4376);
31131 match(EQ_);
31132 setState(4379);
31133 _errHandler.sync(this);
31134 switch ( getInterpreter().adaptivePredict(_input,473,_ctx) ) {
31135 case 1:
31136 {
31137 setState(4377);
31138 match(STRING_);
31139 }
31140 break;
31141 case 2:
31142 {
31143 setState(4378);
31144 serviceObjective();
31145 }
31146 break;
31147 }
31148 }
31149 break;
31150 default:
31151 throw new NoViableAltException(this);
31152 }
31153 }
31154 catch (RecognitionException re) {
31155 _localctx.exception = re;
31156 _errHandler.reportError(this, re);
31157 _errHandler.recover(this, re);
31158 }
31159 finally {
31160 exitRule();
31161 }
31162 return _localctx;
31163 }
31164
31165 public static class ServiceObjectiveContext extends ParserRuleContext {
31166 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
31167 public TerminalNode ELASTIC_POOL() { return getToken(SQLServerStatementParser.ELASTIC_POOL, 0); }
31168 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
31169 public IgnoredIdentifierContext ignoredIdentifier() {
31170 return getRuleContext(IgnoredIdentifierContext.class,0);
31171 }
31172 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31173 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
31174 public ServiceObjectiveContext(ParserRuleContext parent, int invokingState) {
31175 super(parent, invokingState);
31176 }
31177 @Override public int getRuleIndex() { return RULE_serviceObjective; }
31178 @Override
31179 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31180 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceObjective(this);
31181 else return visitor.visitChildren(this);
31182 }
31183 }
31184
31185 public final ServiceObjectiveContext serviceObjective() throws RecognitionException {
31186 ServiceObjectiveContext _localctx = new ServiceObjectiveContext(_ctx, getState());
31187 enterRule(_localctx, 606, RULE_serviceObjective);
31188 try {
31189 setState(4391);
31190 _errHandler.sync(this);
31191 switch (_input.LA(1)) {
31192 case STRING_:
31193 enterOuterAlt(_localctx, 1);
31194 {
31195 setState(4383);
31196 match(STRING_);
31197 }
31198 break;
31199 case ELASTIC_POOL:
31200 enterOuterAlt(_localctx, 2);
31201 {
31202 setState(4384);
31203 match(ELASTIC_POOL);
31204 setState(4385);
31205 match(LP_);
31206 setState(4386);
31207 ignoredIdentifier();
31208 setState(4387);
31209 match(EQ_);
31210 setState(4388);
31211 match(STRING_);
31212 setState(4389);
31213 match(RP_);
31214 }
31215 break;
31216 default:
31217 throw new NoViableAltException(this);
31218 }
31219 }
31220 catch (RecognitionException re) {
31221 _localctx.exception = re;
31222 _errHandler.reportError(this, re);
31223 _errHandler.recover(this, re);
31224 }
31225 finally {
31226 exitRule();
31227 }
31228 return _localctx;
31229 }
31230
31231 public static class AlterDatabaseOptionSpecContext extends ParserRuleContext {
31232 public AcceleratedDatabaseRecoveryContext acceleratedDatabaseRecovery() {
31233 return getRuleContext(AcceleratedDatabaseRecoveryContext.class,0);
31234 }
31235 public AutoOptionContext autoOption() {
31236 return getRuleContext(AutoOptionContext.class,0);
31237 }
31238 public AutomaticTuningOptionContext automaticTuningOption() {
31239 return getRuleContext(AutomaticTuningOptionContext.class,0);
31240 }
31241 public ChangeTrackingOptionContext changeTrackingOption() {
31242 return getRuleContext(ChangeTrackingOptionContext.class,0);
31243 }
31244 public TerminalNode CONTAINMENT() { return getToken(SQLServerStatementParser.CONTAINMENT, 0); }
31245 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31246 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
31247 public TerminalNode PARTIAL() { return getToken(SQLServerStatementParser.PARTIAL, 0); }
31248 public CursorOptionContext cursorOption() {
31249 return getRuleContext(CursorOptionContext.class,0);
31250 }
31251 public TerminalNode DATE_CORRELATION_OPTIMIZATION() { return getToken(SQLServerStatementParser.DATE_CORRELATION_OPTIMIZATION, 0); }
31252 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31253 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31254 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
31255 public TerminalNode SUSPEND() { return getToken(SQLServerStatementParser.SUSPEND, 0); }
31256 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
31257 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
31258 public TerminalNode OFFLINE() { return getToken(SQLServerStatementParser.OFFLINE, 0); }
31259 public TerminalNode EMERGENCY() { return getToken(SQLServerStatementParser.EMERGENCY, 0); }
31260 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
31261 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
31262 public TerminalNode SINGLE_USER() { return getToken(SQLServerStatementParser.SINGLE_USER, 0); }
31263 public TerminalNode RESTRICTED_USER() { return getToken(SQLServerStatementParser.RESTRICTED_USER, 0); }
31264 public TerminalNode MULTI_USER() { return getToken(SQLServerStatementParser.MULTI_USER, 0); }
31265 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
31266 public TerminalNode DISABLED() { return getToken(SQLServerStatementParser.DISABLED, 0); }
31267 public TerminalNode ALLOWED() { return getToken(SQLServerStatementParser.ALLOWED, 0); }
31268 public TerminalNode FORCED() { return getToken(SQLServerStatementParser.FORCED, 0); }
31269 public ExternalAccessOptionContext externalAccessOption() {
31270 return getRuleContext(ExternalAccessOptionContext.class,0);
31271 }
31272 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
31273 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
31274 public FileStreamOptionContext fileStreamOption() {
31275 return getRuleContext(FileStreamOptionContext.class,0);
31276 }
31277 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
31278 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
31279 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
31280 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
31281 public TerminalNode HADR() { return getToken(SQLServerStatementParser.HADR, 0); }
31282 public TerminalNode MIXED_PAGE_ALLOCATION() { return getToken(SQLServerStatementParser.MIXED_PAGE_ALLOCATION, 0); }
31283 public TerminalNode PARAMETERIZATION() { return getToken(SQLServerStatementParser.PARAMETERIZATION, 0); }
31284 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
31285 public QueryStoreOptionsContext queryStoreOptions() {
31286 return getRuleContext(QueryStoreOptionsContext.class,0);
31287 }
31288 public RecoveryOptionContext recoveryOption() {
31289 return getRuleContext(RecoveryOptionContext.class,0);
31290 }
31291 public ServiceBrokerOptionContext serviceBrokerOption() {
31292 return getRuleContext(ServiceBrokerOptionContext.class,0);
31293 }
31294 public SnapshotOptionContext snapshotOption() {
31295 return getRuleContext(SnapshotOptionContext.class,0);
31296 }
31297 public SqlOptionContext sqlOption() {
31298 return getRuleContext(SqlOptionContext.class,0);
31299 }
31300 public TargetRecoveryTimeOptionContext targetRecoveryTimeOption() {
31301 return getRuleContext(TargetRecoveryTimeOptionContext.class,0);
31302 }
31303 public TerminationContext termination() {
31304 return getRuleContext(TerminationContext.class,0);
31305 }
31306 public TerminalNode TEMPORAL_HISTORY_RETENTION() { return getToken(SQLServerStatementParser.TEMPORAL_HISTORY_RETENTION, 0); }
31307 public TerminalNode DATA_RETENTION() { return getToken(SQLServerStatementParser.DATA_RETENTION, 0); }
31308 public AlterDatabaseOptionSpecContext(ParserRuleContext parent, int invokingState) {
31309 super(parent, invokingState);
31310 }
31311 @Override public int getRuleIndex() { return RULE_alterDatabaseOptionSpec; }
31312 @Override
31313 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31314 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabaseOptionSpec(this);
31315 else return visitor.visitChildren(this);
31316 }
31317 }
31318
31319 public final AlterDatabaseOptionSpecContext alterDatabaseOptionSpec() throws RecognitionException {
31320 AlterDatabaseOptionSpecContext _localctx = new AlterDatabaseOptionSpecContext(_ctx, getState());
31321 enterRule(_localctx, 608, RULE_alterDatabaseOptionSpec);
31322 int _la;
31323 try {
31324 setState(4436);
31325 _errHandler.sync(this);
31326 switch (_input.LA(1)) {
31327 case ACCELERATED_DATABASE_RECOVERY:
31328 enterOuterAlt(_localctx, 1);
31329 {
31330 setState(4393);
31331 acceleratedDatabaseRecovery();
31332 }
31333 break;
31334 case AUTO_UPDATE_STATISTICS_ASYNC:
31335 case AUTO_UPDATE_STATISTICS:
31336 case AUTO_SHRINK:
31337 case AUTO_CREATE_STATISTICS:
31338 case AUTO_CLOSE:
31339 enterOuterAlt(_localctx, 2);
31340 {
31341 setState(4394);
31342 autoOption();
31343 }
31344 break;
31345 case AUTOMATIC_TUNING:
31346 enterOuterAlt(_localctx, 3);
31347 {
31348 setState(4395);
31349 automaticTuningOption();
31350 }
31351 break;
31352 case CHANGE_TRACKING:
31353 enterOuterAlt(_localctx, 4);
31354 {
31355 setState(4396);
31356 changeTrackingOption();
31357 }
31358 break;
31359 case CONTAINMENT:
31360 enterOuterAlt(_localctx, 5);
31361 {
31362 setState(4397);
31363 match(CONTAINMENT);
31364 setState(4398);
31365 match(EQ_);
31366 setState(4399);
31367 _la = _input.LA(1);
31368 if ( !(_la==NONE || _la==PARTIAL) ) {
31369 _errHandler.recoverInline(this);
31370 }
31371 else {
31372 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31373 _errHandler.reportMatch(this);
31374 consume();
31375 }
31376 }
31377 break;
31378 case CURSOR_DEFAULT:
31379 case CURSOR_CLOSE_ON_COMMIT:
31380 enterOuterAlt(_localctx, 6);
31381 {
31382 setState(4400);
31383 cursorOption();
31384 }
31385 break;
31386 case DATE_CORRELATION_OPTIMIZATION:
31387 enterOuterAlt(_localctx, 7);
31388 {
31389 setState(4401);
31390 match(DATE_CORRELATION_OPTIMIZATION);
31391 setState(4402);
31392 _la = _input.LA(1);
31393 if ( !(_la==ON || _la==OFF) ) {
31394 _errHandler.recoverInline(this);
31395 }
31396 else {
31397 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31398 _errHandler.reportMatch(this);
31399 consume();
31400 }
31401 }
31402 break;
31403 case ENCRYPTION:
31404 enterOuterAlt(_localctx, 8);
31405 {
31406 setState(4403);
31407 match(ENCRYPTION);
31408 setState(4404);
31409 _la = _input.LA(1);
31410 if ( !(_la==ON || _la==OFF || _la==RESUME || _la==SUSPEND) ) {
31411 _errHandler.recoverInline(this);
31412 }
31413 else {
31414 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31415 _errHandler.reportMatch(this);
31416 consume();
31417 }
31418 }
31419 break;
31420 case ONLINE:
31421 case OFFLINE:
31422 case EMERGENCY:
31423 enterOuterAlt(_localctx, 9);
31424 {
31425 setState(4405);
31426 _la = _input.LA(1);
31427 if ( !(_la==ONLINE || _la==OFFLINE || _la==EMERGENCY) ) {
31428 _errHandler.recoverInline(this);
31429 }
31430 else {
31431 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31432 _errHandler.reportMatch(this);
31433 consume();
31434 }
31435 }
31436 break;
31437 case READ_ONLY:
31438 case READ_WRITE:
31439 enterOuterAlt(_localctx, 10);
31440 {
31441 setState(4406);
31442 _la = _input.LA(1);
31443 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
31444 _errHandler.recoverInline(this);
31445 }
31446 else {
31447 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31448 _errHandler.reportMatch(this);
31449 consume();
31450 }
31451 }
31452 break;
31453 case MULTI_USER:
31454 case RESTRICTED_USER:
31455 case SINGLE_USER:
31456 enterOuterAlt(_localctx, 11);
31457 {
31458 setState(4407);
31459 _la = _input.LA(1);
31460 if ( !(((((_la - 614)) & ~0x3f) == 0 && ((1L << (_la - 614)) & ((1L << (MULTI_USER - 614)) | (1L << (RESTRICTED_USER - 614)) | (1L << (SINGLE_USER - 614)))) != 0)) ) {
31461 _errHandler.recoverInline(this);
31462 }
31463 else {
31464 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31465 _errHandler.reportMatch(this);
31466 consume();
31467 }
31468 }
31469 break;
31470 case DELAYED_DURABILITY:
31471 enterOuterAlt(_localctx, 12);
31472 {
31473 setState(4408);
31474 match(DELAYED_DURABILITY);
31475 setState(4409);
31476 match(EQ_);
31477 setState(4410);
31478 _la = _input.LA(1);
31479 if ( !(_la==FORCED || _la==DISABLED || _la==ALLOWED) ) {
31480 _errHandler.recoverInline(this);
31481 }
31482 else {
31483 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31484 _errHandler.reportMatch(this);
31485 consume();
31486 }
31487 }
31488 break;
31489 case DB_CHAINING:
31490 case TRUSTWORTHY:
31491 case DEFAULT_FULLTEXT_LANGUAGE:
31492 case DEFAULT_LANGUAGE:
31493 case NESTED_TRIGGERS:
31494 case TRANSFORM_NOISE_WORDS:
31495 case TWO_DIGIT_YEAR_CUTOFF:
31496 enterOuterAlt(_localctx, 13);
31497 {
31498 setState(4411);
31499 externalAccessOption();
31500 }
31501 break;
31502 case FILESTREAM:
31503 enterOuterAlt(_localctx, 14);
31504 {
31505 setState(4412);
31506 match(FILESTREAM);
31507 setState(4413);
31508 match(LP_);
31509 setState(4414);
31510 fileStreamOption();
31511 setState(4415);
31512 match(RP_);
31513 }
31514 break;
31515 case ALTER:
31516 enterOuterAlt(_localctx, 15);
31517 {
31518 setState(4417);
31519 match(ALTER);
31520 setState(4418);
31521 match(DATABASE);
31522 setState(4419);
31523 match(SET);
31524 setState(4420);
31525 match(HADR);
31526 }
31527 break;
31528 case MIXED_PAGE_ALLOCATION:
31529 enterOuterAlt(_localctx, 16);
31530 {
31531 setState(4421);
31532 match(MIXED_PAGE_ALLOCATION);
31533 setState(4422);
31534 _la = _input.LA(1);
31535 if ( !(_la==ON || _la==OFF) ) {
31536 _errHandler.recoverInline(this);
31537 }
31538 else {
31539 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31540 _errHandler.reportMatch(this);
31541 consume();
31542 }
31543 }
31544 break;
31545 case PARAMETERIZATION:
31546 enterOuterAlt(_localctx, 17);
31547 {
31548 setState(4423);
31549 match(PARAMETERIZATION);
31550 setState(4424);
31551 _la = _input.LA(1);
31552 if ( !(_la==SIMPLE || _la==FORCED) ) {
31553 _errHandler.recoverInline(this);
31554 }
31555 else {
31556 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31557 _errHandler.reportMatch(this);
31558 consume();
31559 }
31560 }
31561 break;
31562 case QUERY_STORE:
31563 enterOuterAlt(_localctx, 18);
31564 {
31565 setState(4425);
31566 queryStoreOptions();
31567 }
31568 break;
31569 case PAGE_VERIFY:
31570 case TORN_PAGE_DETECTION:
31571 case RECOVERY:
31572 enterOuterAlt(_localctx, 19);
31573 {
31574 setState(4426);
31575 recoveryOption();
31576 }
31577 break;
31578 case HONOR_BROKER_PRIORITY:
31579 case ERROR_BROKER_CONVERSATIONS:
31580 case NEW_BROKER:
31581 case DISABLE_BROKER:
31582 case ENABLE_BROKER:
31583 enterOuterAlt(_localctx, 20);
31584 {
31585 setState(4427);
31586 serviceBrokerOption();
31587 }
31588 break;
31589 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
31590 case READ_COMMITTED_SNAPSHOT:
31591 case ALLOW_SNAPSHOT_ISOLATION:
31592 enterOuterAlt(_localctx, 21);
31593 {
31594 setState(4428);
31595 snapshotOption();
31596 }
31597 break;
31598 case RECURSIVE_TRIGGERS:
31599 case QUOTED_IDENTIFIER:
31600 case NUMERIC_ROUNDABORT:
31601 case CONCAT_NULL_YIELDS_NULL:
31602 case COMPATIBILITY_LEVEL:
31603 case ARITHABORT:
31604 case ANSI_WARNINGS:
31605 case ANSI_PADDING:
31606 case ANSI_NULLS:
31607 case ANSI_NULL_DEFAULT:
31608 enterOuterAlt(_localctx, 22);
31609 {
31610 setState(4429);
31611 sqlOption();
31612 }
31613 break;
31614 case TARGET_RECOVERY_TIME:
31615 enterOuterAlt(_localctx, 23);
31616 {
31617 setState(4430);
31618 targetRecoveryTimeOption();
31619 }
31620 break;
31621 case ROLLBACK:
31622 case NO_WAIT:
31623 enterOuterAlt(_localctx, 24);
31624 {
31625 setState(4431);
31626 termination();
31627 }
31628 break;
31629 case TEMPORAL_HISTORY_RETENTION:
31630 enterOuterAlt(_localctx, 25);
31631 {
31632 setState(4432);
31633 match(TEMPORAL_HISTORY_RETENTION);
31634 setState(4433);
31635 _la = _input.LA(1);
31636 if ( !(_la==ON || _la==OFF) ) {
31637 _errHandler.recoverInline(this);
31638 }
31639 else {
31640 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31641 _errHandler.reportMatch(this);
31642 consume();
31643 }
31644 }
31645 break;
31646 case DATA_RETENTION:
31647 enterOuterAlt(_localctx, 26);
31648 {
31649 setState(4434);
31650 match(DATA_RETENTION);
31651 setState(4435);
31652 _la = _input.LA(1);
31653 if ( !(_la==ON || _la==OFF) ) {
31654 _errHandler.recoverInline(this);
31655 }
31656 else {
31657 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31658 _errHandler.reportMatch(this);
31659 consume();
31660 }
31661 }
31662 break;
31663 default:
31664 throw new NoViableAltException(this);
31665 }
31666 }
31667 catch (RecognitionException re) {
31668 _localctx.exception = re;
31669 _errHandler.reportError(this, re);
31670 _errHandler.recover(this, re);
31671 }
31672 finally {
31673 exitRule();
31674 }
31675 return _localctx;
31676 }
31677
31678 public static class FileAndFilegroupOptionsContext extends ParserRuleContext {
31679 public AddOrModifyFilesContext addOrModifyFiles() {
31680 return getRuleContext(AddOrModifyFilesContext.class,0);
31681 }
31682 public FileSpecContext fileSpec() {
31683 return getRuleContext(FileSpecContext.class,0);
31684 }
31685 public AddOrModifyFilegroupsContext addOrModifyFilegroups() {
31686 return getRuleContext(AddOrModifyFilegroupsContext.class,0);
31687 }
31688 public FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() {
31689 return getRuleContext(FilegroupUpdatabilityOptionContext.class,0);
31690 }
31691 public FileAndFilegroupOptionsContext(ParserRuleContext parent, int invokingState) {
31692 super(parent, invokingState);
31693 }
31694 @Override public int getRuleIndex() { return RULE_fileAndFilegroupOptions; }
31695 @Override
31696 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31697 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileAndFilegroupOptions(this);
31698 else return visitor.visitChildren(this);
31699 }
31700 }
31701
31702 public final FileAndFilegroupOptionsContext fileAndFilegroupOptions() throws RecognitionException {
31703 FileAndFilegroupOptionsContext _localctx = new FileAndFilegroupOptionsContext(_ctx, getState());
31704 enterRule(_localctx, 610, RULE_fileAndFilegroupOptions);
31705 try {
31706 setState(4442);
31707 _errHandler.sync(this);
31708 switch ( getInterpreter().adaptivePredict(_input,477,_ctx) ) {
31709 case 1:
31710 enterOuterAlt(_localctx, 1);
31711 {
31712 setState(4438);
31713 addOrModifyFiles();
31714 }
31715 break;
31716 case 2:
31717 enterOuterAlt(_localctx, 2);
31718 {
31719 setState(4439);
31720 fileSpec();
31721 }
31722 break;
31723 case 3:
31724 enterOuterAlt(_localctx, 3);
31725 {
31726 setState(4440);
31727 addOrModifyFilegroups();
31728 }
31729 break;
31730 case 4:
31731 enterOuterAlt(_localctx, 4);
31732 {
31733 setState(4441);
31734 filegroupUpdatabilityOption();
31735 }
31736 break;
31737 }
31738 }
31739 catch (RecognitionException re) {
31740 _localctx.exception = re;
31741 _errHandler.reportError(this, re);
31742 _errHandler.recover(this, re);
31743 }
31744 finally {
31745 exitRule();
31746 }
31747 return _localctx;
31748 }
31749
31750 public static class AddOrModifyFilegroupsContext extends ParserRuleContext {
31751 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
31752 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
31753 public IgnoredIdentifierContext ignoredIdentifier() {
31754 return getRuleContext(IgnoredIdentifierContext.class,0);
31755 }
31756 public TerminalNode CONTAINS() { return getToken(SQLServerStatementParser.CONTAINS, 0); }
31757 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
31758 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
31759 public TerminalNode REMOVE() { return getToken(SQLServerStatementParser.REMOVE, 0); }
31760 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
31761 public FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() {
31762 return getRuleContext(FilegroupUpdatabilityOptionContext.class,0);
31763 }
31764 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
31765 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
31766 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31767 public TerminalNode AUTOGROW_SINGLE_FILE() { return getToken(SQLServerStatementParser.AUTOGROW_SINGLE_FILE, 0); }
31768 public TerminalNode AUTOGROW_ALL_FILES() { return getToken(SQLServerStatementParser.AUTOGROW_ALL_FILES, 0); }
31769 public AddOrModifyFilegroupsContext(ParserRuleContext parent, int invokingState) {
31770 super(parent, invokingState);
31771 }
31772 @Override public int getRuleIndex() { return RULE_addOrModifyFilegroups; }
31773 @Override
31774 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31775 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddOrModifyFilegroups(this);
31776 else return visitor.visitChildren(this);
31777 }
31778 }
31779
31780 public final AddOrModifyFilegroupsContext addOrModifyFilegroups() throws RecognitionException {
31781 AddOrModifyFilegroupsContext _localctx = new AddOrModifyFilegroupsContext(_ctx, getState());
31782 enterRule(_localctx, 612, RULE_addOrModifyFilegroups);
31783 int _la;
31784 try {
31785 setState(4466);
31786 _errHandler.sync(this);
31787 switch (_input.LA(1)) {
31788 case ADD:
31789 enterOuterAlt(_localctx, 1);
31790 {
31791 setState(4444);
31792 match(ADD);
31793 setState(4445);
31794 match(FILEGROUP);
31795 setState(4446);
31796 ignoredIdentifier();
31797 setState(4451);
31798 _errHandler.sync(this);
31799 switch ( getInterpreter().adaptivePredict(_input,478,_ctx) ) {
31800 case 1:
31801 {
31802 setState(4447);
31803 match(CONTAINS);
31804 setState(4448);
31805 match(FILESTREAM);
31806 }
31807 break;
31808 case 2:
31809 {
31810 setState(4449);
31811 match(CONTAINS);
31812 setState(4450);
31813 match(MEMORY_OPTIMIZED_DATA);
31814 }
31815 break;
31816 }
31817 }
31818 break;
31819 case REMOVE:
31820 enterOuterAlt(_localctx, 2);
31821 {
31822 setState(4453);
31823 match(REMOVE);
31824 setState(4454);
31825 match(FILEGROUP);
31826 setState(4455);
31827 ignoredIdentifier();
31828 }
31829 break;
31830 case MODIFY:
31831 enterOuterAlt(_localctx, 3);
31832 {
31833 setState(4456);
31834 match(MODIFY);
31835 setState(4457);
31836 match(FILEGROUP);
31837 setState(4458);
31838 ignoredIdentifier();
31839 setState(4459);
31840 filegroupUpdatabilityOption();
31841 }
31842 break;
31843 case DEFAULT:
31844 enterOuterAlt(_localctx, 4);
31845 {
31846 setState(4461);
31847 match(DEFAULT);
31848 }
31849 break;
31850 case NAME:
31851 enterOuterAlt(_localctx, 5);
31852 {
31853 setState(4462);
31854 match(NAME);
31855 setState(4463);
31856 match(EQ_);
31857 setState(4464);
31858 ignoredIdentifier();
31859 }
31860 break;
31861 case AUTOGROW_SINGLE_FILE:
31862 case AUTOGROW_ALL_FILES:
31863 enterOuterAlt(_localctx, 6);
31864 {
31865 setState(4465);
31866 _la = _input.LA(1);
31867 if ( !(_la==AUTOGROW_SINGLE_FILE || _la==AUTOGROW_ALL_FILES) ) {
31868 _errHandler.recoverInline(this);
31869 }
31870 else {
31871 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31872 _errHandler.reportMatch(this);
31873 consume();
31874 }
31875 }
31876 break;
31877 default:
31878 throw new NoViableAltException(this);
31879 }
31880 }
31881 catch (RecognitionException re) {
31882 _localctx.exception = re;
31883 _errHandler.reportError(this, re);
31884 _errHandler.recover(this, re);
31885 }
31886 finally {
31887 exitRule();
31888 }
31889 return _localctx;
31890 }
31891
31892 public static class FilegroupUpdatabilityOptionContext extends ParserRuleContext {
31893 public TerminalNode READONLY() { return getToken(SQLServerStatementParser.READONLY, 0); }
31894 public TerminalNode READWRITE() { return getToken(SQLServerStatementParser.READWRITE, 0); }
31895 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
31896 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
31897 public FilegroupUpdatabilityOptionContext(ParserRuleContext parent, int invokingState) {
31898 super(parent, invokingState);
31899 }
31900 @Override public int getRuleIndex() { return RULE_filegroupUpdatabilityOption; }
31901 @Override
31902 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31903 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFilegroupUpdatabilityOption(this);
31904 else return visitor.visitChildren(this);
31905 }
31906 }
31907
31908 public final FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() throws RecognitionException {
31909 FilegroupUpdatabilityOptionContext _localctx = new FilegroupUpdatabilityOptionContext(_ctx, getState());
31910 enterRule(_localctx, 614, RULE_filegroupUpdatabilityOption);
31911 int _la;
31912 try {
31913 setState(4470);
31914 _errHandler.sync(this);
31915 switch (_input.LA(1)) {
31916 case READONLY:
31917 case READWRITE:
31918 enterOuterAlt(_localctx, 1);
31919 {
31920 setState(4468);
31921 _la = _input.LA(1);
31922 if ( !(_la==READONLY || _la==READWRITE) ) {
31923 _errHandler.recoverInline(this);
31924 }
31925 else {
31926 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31927 _errHandler.reportMatch(this);
31928 consume();
31929 }
31930 }
31931 break;
31932 case READ_ONLY:
31933 case READ_WRITE:
31934 enterOuterAlt(_localctx, 2);
31935 {
31936 setState(4469);
31937 _la = _input.LA(1);
31938 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
31939 _errHandler.recoverInline(this);
31940 }
31941 else {
31942 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31943 _errHandler.reportMatch(this);
31944 consume();
31945 }
31946 }
31947 break;
31948 default:
31949 throw new NoViableAltException(this);
31950 }
31951 }
31952 catch (RecognitionException re) {
31953 _localctx.exception = re;
31954 _errHandler.reportError(this, re);
31955 _errHandler.recover(this, re);
31956 }
31957 finally {
31958 exitRule();
31959 }
31960 return _localctx;
31961 }
31962
31963 public static class AddOrModifyFilesContext extends ParserRuleContext {
31964 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
31965 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
31966 public List<FileSpecContext> fileSpec() {
31967 return getRuleContexts(FileSpecContext.class);
31968 }
31969 public FileSpecContext fileSpec(int i) {
31970 return getRuleContext(FileSpecContext.class,i);
31971 }
31972 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
31973 public TerminalNode COMMA_(int i) {
31974 return getToken(SQLServerStatementParser.COMMA_, i);
31975 }
31976 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
31977 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
31978 public IgnoredIdentifierContext ignoredIdentifier() {
31979 return getRuleContext(IgnoredIdentifierContext.class,0);
31980 }
31981 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
31982 public TerminalNode REMOVE() { return getToken(SQLServerStatementParser.REMOVE, 0); }
31983 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
31984 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
31985 public AddOrModifyFilesContext(ParserRuleContext parent, int invokingState) {
31986 super(parent, invokingState);
31987 }
31988 @Override public int getRuleIndex() { return RULE_addOrModifyFiles; }
31989 @Override
31990 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31991 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddOrModifyFiles(this);
31992 else return visitor.visitChildren(this);
31993 }
31994 }
31995
31996 public final AddOrModifyFilesContext addOrModifyFiles() throws RecognitionException {
31997 AddOrModifyFilesContext _localctx = new AddOrModifyFilesContext(_ctx, getState());
31998 enterRule(_localctx, 616, RULE_addOrModifyFiles);
31999 int _la;
32000 try {
32001 setState(4504);
32002 _errHandler.sync(this);
32003 switch ( getInterpreter().adaptivePredict(_input,484,_ctx) ) {
32004 case 1:
32005 enterOuterAlt(_localctx, 1);
32006 {
32007 setState(4472);
32008 match(ADD);
32009 setState(4473);
32010 match(FILE);
32011 setState(4474);
32012 fileSpec();
32013 setState(4479);
32014 _errHandler.sync(this);
32015 _la = _input.LA(1);
32016 while (_la==COMMA_) {
32017 {
32018 {
32019 setState(4475);
32020 match(COMMA_);
32021 setState(4476);
32022 fileSpec();
32023 }
32024 }
32025 setState(4481);
32026 _errHandler.sync(this);
32027 _la = _input.LA(1);
32028 }
32029 setState(4485);
32030 _errHandler.sync(this);
32031 _la = _input.LA(1);
32032 if (_la==TO) {
32033 {
32034 setState(4482);
32035 match(TO);
32036 setState(4483);
32037 match(FILEGROUP);
32038 setState(4484);
32039 ignoredIdentifier();
32040 }
32041 }
32042
32043 }
32044 break;
32045 case 2:
32046 enterOuterAlt(_localctx, 2);
32047 {
32048 setState(4487);
32049 match(ADD);
32050 setState(4488);
32051 match(LOG);
32052 setState(4489);
32053 match(FILE);
32054 setState(4490);
32055 fileSpec();
32056 setState(4495);
32057 _errHandler.sync(this);
32058 _la = _input.LA(1);
32059 while (_la==COMMA_) {
32060 {
32061 {
32062 setState(4491);
32063 match(COMMA_);
32064 setState(4492);
32065 fileSpec();
32066 }
32067 }
32068 setState(4497);
32069 _errHandler.sync(this);
32070 _la = _input.LA(1);
32071 }
32072 }
32073 break;
32074 case 3:
32075 enterOuterAlt(_localctx, 3);
32076 {
32077 setState(4498);
32078 match(REMOVE);
32079 setState(4499);
32080 match(FILE);
32081 setState(4500);
32082 match(STRING_);
32083 }
32084 break;
32085 case 4:
32086 enterOuterAlt(_localctx, 4);
32087 {
32088 setState(4501);
32089 match(MODIFY);
32090 setState(4502);
32091 match(FILE);
32092 setState(4503);
32093 fileSpec();
32094 }
32095 break;
32096 }
32097 }
32098 catch (RecognitionException re) {
32099 _localctx.exception = re;
32100 _errHandler.reportError(this, re);
32101 _errHandler.recover(this, re);
32102 }
32103 finally {
32104 exitRule();
32105 }
32106 return _localctx;
32107 }
32108
32109 public static class AcceleratedDatabaseRecoveryContext extends ParserRuleContext {
32110 public TerminalNode ACCELERATED_DATABASE_RECOVERY() { return getToken(SQLServerStatementParser.ACCELERATED_DATABASE_RECOVERY, 0); }
32111 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
32112 public TerminalNode EQ_(int i) {
32113 return getToken(SQLServerStatementParser.EQ_, i);
32114 }
32115 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32116 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32117 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32118 public TerminalNode PERSISTENT_VERSION_STORE_FILEGROUP() { return getToken(SQLServerStatementParser.PERSISTENT_VERSION_STORE_FILEGROUP, 0); }
32119 public IgnoredIdentifierContext ignoredIdentifier() {
32120 return getRuleContext(IgnoredIdentifierContext.class,0);
32121 }
32122 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32123 public AcceleratedDatabaseRecoveryContext(ParserRuleContext parent, int invokingState) {
32124 super(parent, invokingState);
32125 }
32126 @Override public int getRuleIndex() { return RULE_acceleratedDatabaseRecovery; }
32127 @Override
32128 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32129 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAcceleratedDatabaseRecovery(this);
32130 else return visitor.visitChildren(this);
32131 }
32132 }
32133
32134 public final AcceleratedDatabaseRecoveryContext acceleratedDatabaseRecovery() throws RecognitionException {
32135 AcceleratedDatabaseRecoveryContext _localctx = new AcceleratedDatabaseRecoveryContext(_ctx, getState());
32136 enterRule(_localctx, 618, RULE_acceleratedDatabaseRecovery);
32137 int _la;
32138 try {
32139 enterOuterAlt(_localctx, 1);
32140 {
32141 setState(4506);
32142 match(ACCELERATED_DATABASE_RECOVERY);
32143 setState(4507);
32144 match(EQ_);
32145 setState(4508);
32146 _la = _input.LA(1);
32147 if ( !(_la==ON || _la==OFF) ) {
32148 _errHandler.recoverInline(this);
32149 }
32150 else {
32151 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32152 _errHandler.reportMatch(this);
32153 consume();
32154 }
32155 setState(4515);
32156 _errHandler.sync(this);
32157 switch ( getInterpreter().adaptivePredict(_input,485,_ctx) ) {
32158 case 1:
32159 {
32160 setState(4509);
32161 match(LP_);
32162 setState(4510);
32163 match(PERSISTENT_VERSION_STORE_FILEGROUP);
32164 setState(4511);
32165 match(EQ_);
32166 setState(4512);
32167 ignoredIdentifier();
32168 setState(4513);
32169 match(RP_);
32170 }
32171 break;
32172 }
32173 }
32174 }
32175 catch (RecognitionException re) {
32176 _localctx.exception = re;
32177 _errHandler.reportError(this, re);
32178 _errHandler.recover(this, re);
32179 }
32180 finally {
32181 exitRule();
32182 }
32183 return _localctx;
32184 }
32185
32186 public static class AutoOptionContext extends ParserRuleContext {
32187 public TerminalNode AUTO_CLOSE() { return getToken(SQLServerStatementParser.AUTO_CLOSE, 0); }
32188 public List<TerminalNode> ON() { return getTokens(SQLServerStatementParser.ON); }
32189 public TerminalNode ON(int i) {
32190 return getToken(SQLServerStatementParser.ON, i);
32191 }
32192 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32193 public TerminalNode AUTO_CREATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_CREATE_STATISTICS, 0); }
32194 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32195 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
32196 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32197 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32198 public TerminalNode AUTO_SHRINK() { return getToken(SQLServerStatementParser.AUTO_SHRINK, 0); }
32199 public TerminalNode AUTO_UPDATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS, 0); }
32200 public TerminalNode AUTO_UPDATE_STATISTICS_ASYNC() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS_ASYNC, 0); }
32201 public AutoOptionContext(ParserRuleContext parent, int invokingState) {
32202 super(parent, invokingState);
32203 }
32204 @Override public int getRuleIndex() { return RULE_autoOption; }
32205 @Override
32206 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32207 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAutoOption(this);
32208 else return visitor.visitChildren(this);
32209 }
32210 }
32211
32212 public final AutoOptionContext autoOption() throws RecognitionException {
32213 AutoOptionContext _localctx = new AutoOptionContext(_ctx, getState());
32214 enterRule(_localctx, 620, RULE_autoOption);
32215 int _la;
32216 try {
32217 setState(4537);
32218 _errHandler.sync(this);
32219 switch (_input.LA(1)) {
32220 case AUTO_CLOSE:
32221 enterOuterAlt(_localctx, 1);
32222 {
32223 setState(4517);
32224 match(AUTO_CLOSE);
32225 setState(4518);
32226 _la = _input.LA(1);
32227 if ( !(_la==ON || _la==OFF) ) {
32228 _errHandler.recoverInline(this);
32229 }
32230 else {
32231 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32232 _errHandler.reportMatch(this);
32233 consume();
32234 }
32235 }
32236 break;
32237 case AUTO_CREATE_STATISTICS:
32238 enterOuterAlt(_localctx, 2);
32239 {
32240 setState(4519);
32241 match(AUTO_CREATE_STATISTICS);
32242 setState(4529);
32243 _errHandler.sync(this);
32244 switch (_input.LA(1)) {
32245 case OFF:
32246 {
32247 setState(4520);
32248 match(OFF);
32249 }
32250 break;
32251 case ON:
32252 {
32253 setState(4521);
32254 match(ON);
32255 setState(4527);
32256 _errHandler.sync(this);
32257 switch ( getInterpreter().adaptivePredict(_input,486,_ctx) ) {
32258 case 1:
32259 {
32260 setState(4522);
32261 match(LP_);
32262 setState(4523);
32263 match(INCREMENTAL);
32264 setState(4524);
32265 match(EQ_);
32266 setState(4525);
32267 _la = _input.LA(1);
32268 if ( !(_la==ON || _la==OFF) ) {
32269 _errHandler.recoverInline(this);
32270 }
32271 else {
32272 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32273 _errHandler.reportMatch(this);
32274 consume();
32275 }
32276 setState(4526);
32277 match(RP_);
32278 }
32279 break;
32280 }
32281 }
32282 break;
32283 default:
32284 throw new NoViableAltException(this);
32285 }
32286 }
32287 break;
32288 case AUTO_SHRINK:
32289 enterOuterAlt(_localctx, 3);
32290 {
32291 setState(4531);
32292 match(AUTO_SHRINK);
32293 setState(4532);
32294 _la = _input.LA(1);
32295 if ( !(_la==ON || _la==OFF) ) {
32296 _errHandler.recoverInline(this);
32297 }
32298 else {
32299 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32300 _errHandler.reportMatch(this);
32301 consume();
32302 }
32303 }
32304 break;
32305 case AUTO_UPDATE_STATISTICS:
32306 enterOuterAlt(_localctx, 4);
32307 {
32308 setState(4533);
32309 match(AUTO_UPDATE_STATISTICS);
32310 setState(4534);
32311 _la = _input.LA(1);
32312 if ( !(_la==ON || _la==OFF) ) {
32313 _errHandler.recoverInline(this);
32314 }
32315 else {
32316 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32317 _errHandler.reportMatch(this);
32318 consume();
32319 }
32320 }
32321 break;
32322 case AUTO_UPDATE_STATISTICS_ASYNC:
32323 enterOuterAlt(_localctx, 5);
32324 {
32325 setState(4535);
32326 match(AUTO_UPDATE_STATISTICS_ASYNC);
32327 setState(4536);
32328 _la = _input.LA(1);
32329 if ( !(_la==ON || _la==OFF) ) {
32330 _errHandler.recoverInline(this);
32331 }
32332 else {
32333 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32334 _errHandler.reportMatch(this);
32335 consume();
32336 }
32337 }
32338 break;
32339 default:
32340 throw new NoViableAltException(this);
32341 }
32342 }
32343 catch (RecognitionException re) {
32344 _localctx.exception = re;
32345 _errHandler.reportError(this, re);
32346 _errHandler.recover(this, re);
32347 }
32348 finally {
32349 exitRule();
32350 }
32351 return _localctx;
32352 }
32353
32354 public static class AutomaticTuningOptionContext extends ParserRuleContext {
32355 public TerminalNode AUTOMATIC_TUNING() { return getToken(SQLServerStatementParser.AUTOMATIC_TUNING, 0); }
32356 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32357 public TerminalNode FORCE_LAST_GOOD_PLAN() { return getToken(SQLServerStatementParser.FORCE_LAST_GOOD_PLAN, 0); }
32358 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32359 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32360 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32361 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32362 public AutomaticTuningOptionContext(ParserRuleContext parent, int invokingState) {
32363 super(parent, invokingState);
32364 }
32365 @Override public int getRuleIndex() { return RULE_automaticTuningOption; }
32366 @Override
32367 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32368 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAutomaticTuningOption(this);
32369 else return visitor.visitChildren(this);
32370 }
32371 }
32372
32373 public final AutomaticTuningOptionContext automaticTuningOption() throws RecognitionException {
32374 AutomaticTuningOptionContext _localctx = new AutomaticTuningOptionContext(_ctx, getState());
32375 enterRule(_localctx, 622, RULE_automaticTuningOption);
32376 int _la;
32377 try {
32378 enterOuterAlt(_localctx, 1);
32379 {
32380 setState(4539);
32381 match(AUTOMATIC_TUNING);
32382 setState(4540);
32383 match(LP_);
32384 setState(4541);
32385 match(FORCE_LAST_GOOD_PLAN);
32386 setState(4542);
32387 match(EQ_);
32388 setState(4543);
32389 _la = _input.LA(1);
32390 if ( !(_la==ON || _la==OFF) ) {
32391 _errHandler.recoverInline(this);
32392 }
32393 else {
32394 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32395 _errHandler.reportMatch(this);
32396 consume();
32397 }
32398 setState(4544);
32399 match(RP_);
32400 }
32401 }
32402 catch (RecognitionException re) {
32403 _localctx.exception = re;
32404 _errHandler.reportError(this, re);
32405 _errHandler.recover(this, re);
32406 }
32407 finally {
32408 exitRule();
32409 }
32410 return _localctx;
32411 }
32412
32413 public static class ChangeTrackingOptionContext extends ParserRuleContext {
32414 public TerminalNode CHANGE_TRACKING() { return getToken(SQLServerStatementParser.CHANGE_TRACKING, 0); }
32415 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32416 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32417 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32418 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32419 public List<ChangeTrackingOptionListContext> changeTrackingOptionList() {
32420 return getRuleContexts(ChangeTrackingOptionListContext.class);
32421 }
32422 public ChangeTrackingOptionListContext changeTrackingOptionList(int i) {
32423 return getRuleContext(ChangeTrackingOptionListContext.class,i);
32424 }
32425 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32426 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
32427 public TerminalNode COMMA_(int i) {
32428 return getToken(SQLServerStatementParser.COMMA_, i);
32429 }
32430 public ChangeTrackingOptionContext(ParserRuleContext parent, int invokingState) {
32431 super(parent, invokingState);
32432 }
32433 @Override public int getRuleIndex() { return RULE_changeTrackingOption; }
32434 @Override
32435 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32436 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitChangeTrackingOption(this);
32437 else return visitor.visitChildren(this);
32438 }
32439 }
32440
32441 public final ChangeTrackingOptionContext changeTrackingOption() throws RecognitionException {
32442 ChangeTrackingOptionContext _localctx = new ChangeTrackingOptionContext(_ctx, getState());
32443 enterRule(_localctx, 624, RULE_changeTrackingOption);
32444 int _la;
32445 try {
32446 enterOuterAlt(_localctx, 1);
32447 {
32448 setState(4546);
32449 match(CHANGE_TRACKING);
32450 setState(4566);
32451 _errHandler.sync(this);
32452 switch ( getInterpreter().adaptivePredict(_input,492,_ctx) ) {
32453 case 1:
32454 {
32455 setState(4547);
32456 match(EQ_);
32457 setState(4548);
32458 match(OFF);
32459 }
32460 break;
32461 case 2:
32462 {
32463 setState(4551);
32464 _errHandler.sync(this);
32465 _la = _input.LA(1);
32466 if (_la==EQ_) {
32467 {
32468 setState(4549);
32469 match(EQ_);
32470 setState(4550);
32471 match(ON);
32472 }
32473 }
32474
32475 setState(4564);
32476 _errHandler.sync(this);
32477 switch ( getInterpreter().adaptivePredict(_input,491,_ctx) ) {
32478 case 1:
32479 {
32480 setState(4553);
32481 match(LP_);
32482 setState(4554);
32483 changeTrackingOptionList();
32484 setState(4559);
32485 _errHandler.sync(this);
32486 _la = _input.LA(1);
32487 while (_la==COMMA_) {
32488 {
32489 {
32490 setState(4555);
32491 match(COMMA_);
32492 setState(4556);
32493 changeTrackingOptionList();
32494 }
32495 }
32496 setState(4561);
32497 _errHandler.sync(this);
32498 _la = _input.LA(1);
32499 }
32500 setState(4562);
32501 match(RP_);
32502 }
32503 break;
32504 }
32505 }
32506 break;
32507 }
32508 }
32509 }
32510 catch (RecognitionException re) {
32511 _localctx.exception = re;
32512 _errHandler.reportError(this, re);
32513 _errHandler.recover(this, re);
32514 }
32515 finally {
32516 exitRule();
32517 }
32518 return _localctx;
32519 }
32520
32521 public static class ChangeTrackingOptionListContext extends ParserRuleContext {
32522 public TerminalNode AUTO_CLEANUP() { return getToken(SQLServerStatementParser.AUTO_CLEANUP, 0); }
32523 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32524 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32525 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32526 public TerminalNode CHANGE_RETENTION() { return getToken(SQLServerStatementParser.CHANGE_RETENTION, 0); }
32527 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
32528 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
32529 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
32530 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
32531 public ChangeTrackingOptionListContext(ParserRuleContext parent, int invokingState) {
32532 super(parent, invokingState);
32533 }
32534 @Override public int getRuleIndex() { return RULE_changeTrackingOptionList; }
32535 @Override
32536 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32537 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitChangeTrackingOptionList(this);
32538 else return visitor.visitChildren(this);
32539 }
32540 }
32541
32542 public final ChangeTrackingOptionListContext changeTrackingOptionList() throws RecognitionException {
32543 ChangeTrackingOptionListContext _localctx = new ChangeTrackingOptionListContext(_ctx, getState());
32544 enterRule(_localctx, 626, RULE_changeTrackingOptionList);
32545 int _la;
32546 try {
32547 setState(4575);
32548 _errHandler.sync(this);
32549 switch (_input.LA(1)) {
32550 case AUTO_CLEANUP:
32551 enterOuterAlt(_localctx, 1);
32552 {
32553 setState(4568);
32554 match(AUTO_CLEANUP);
32555 setState(4569);
32556 match(EQ_);
32557 setState(4570);
32558 _la = _input.LA(1);
32559 if ( !(_la==ON || _la==OFF) ) {
32560 _errHandler.recoverInline(this);
32561 }
32562 else {
32563 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32564 _errHandler.reportMatch(this);
32565 consume();
32566 }
32567 }
32568 break;
32569 case CHANGE_RETENTION:
32570 enterOuterAlt(_localctx, 2);
32571 {
32572 setState(4571);
32573 match(CHANGE_RETENTION);
32574 setState(4572);
32575 match(EQ_);
32576 setState(4573);
32577 match(NUMBER_);
32578 setState(4574);
32579 _la = _input.LA(1);
32580 if ( !(_la==DAYS || _la==MINUTES || _la==HOURS) ) {
32581 _errHandler.recoverInline(this);
32582 }
32583 else {
32584 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32585 _errHandler.reportMatch(this);
32586 consume();
32587 }
32588 }
32589 break;
32590 default:
32591 throw new NoViableAltException(this);
32592 }
32593 }
32594 catch (RecognitionException re) {
32595 _localctx.exception = re;
32596 _errHandler.reportError(this, re);
32597 _errHandler.recover(this, re);
32598 }
32599 finally {
32600 exitRule();
32601 }
32602 return _localctx;
32603 }
32604
32605 public static class CursorOptionContext extends ParserRuleContext {
32606 public TerminalNode CURSOR_CLOSE_ON_COMMIT() { return getToken(SQLServerStatementParser.CURSOR_CLOSE_ON_COMMIT, 0); }
32607 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32608 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32609 public TerminalNode CURSOR_DEFAULT() { return getToken(SQLServerStatementParser.CURSOR_DEFAULT, 0); }
32610 public TerminalNode LOCAL() { return getToken(SQLServerStatementParser.LOCAL, 0); }
32611 public TerminalNode GLOBAL() { return getToken(SQLServerStatementParser.GLOBAL, 0); }
32612 public CursorOptionContext(ParserRuleContext parent, int invokingState) {
32613 super(parent, invokingState);
32614 }
32615 @Override public int getRuleIndex() { return RULE_cursorOption; }
32616 @Override
32617 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32618 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorOption(this);
32619 else return visitor.visitChildren(this);
32620 }
32621 }
32622
32623 public final CursorOptionContext cursorOption() throws RecognitionException {
32624 CursorOptionContext _localctx = new CursorOptionContext(_ctx, getState());
32625 enterRule(_localctx, 628, RULE_cursorOption);
32626 int _la;
32627 try {
32628 setState(4581);
32629 _errHandler.sync(this);
32630 switch (_input.LA(1)) {
32631 case CURSOR_CLOSE_ON_COMMIT:
32632 enterOuterAlt(_localctx, 1);
32633 {
32634 setState(4577);
32635 match(CURSOR_CLOSE_ON_COMMIT);
32636 setState(4578);
32637 _la = _input.LA(1);
32638 if ( !(_la==ON || _la==OFF) ) {
32639 _errHandler.recoverInline(this);
32640 }
32641 else {
32642 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32643 _errHandler.reportMatch(this);
32644 consume();
32645 }
32646 }
32647 break;
32648 case CURSOR_DEFAULT:
32649 enterOuterAlt(_localctx, 2);
32650 {
32651 setState(4579);
32652 match(CURSOR_DEFAULT);
32653 setState(4580);
32654 _la = _input.LA(1);
32655 if ( !(_la==LOCAL || _la==GLOBAL) ) {
32656 _errHandler.recoverInline(this);
32657 }
32658 else {
32659 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32660 _errHandler.reportMatch(this);
32661 consume();
32662 }
32663 }
32664 break;
32665 default:
32666 throw new NoViableAltException(this);
32667 }
32668 }
32669 catch (RecognitionException re) {
32670 _localctx.exception = re;
32671 _errHandler.reportError(this, re);
32672 _errHandler.recover(this, re);
32673 }
32674 finally {
32675 exitRule();
32676 }
32677 return _localctx;
32678 }
32679
32680 public static class ExternalAccessOptionContext extends ParserRuleContext {
32681 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
32682 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32683 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32684 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
32685 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
32686 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32687 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
32688 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
32689 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
32690 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
32691 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
32692 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
32693 public ExternalAccessOptionContext(ParserRuleContext parent, int invokingState) {
32694 super(parent, invokingState);
32695 }
32696 @Override public int getRuleIndex() { return RULE_externalAccessOption; }
32697 @Override
32698 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32699 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExternalAccessOption(this);
32700 else return visitor.visitChildren(this);
32701 }
32702 }
32703
32704 public final ExternalAccessOptionContext externalAccessOption() throws RecognitionException {
32705 ExternalAccessOptionContext _localctx = new ExternalAccessOptionContext(_ctx, getState());
32706 enterRule(_localctx, 630, RULE_externalAccessOption);
32707 int _la;
32708 try {
32709 setState(4602);
32710 _errHandler.sync(this);
32711 switch (_input.LA(1)) {
32712 case DB_CHAINING:
32713 enterOuterAlt(_localctx, 1);
32714 {
32715 setState(4583);
32716 match(DB_CHAINING);
32717 setState(4584);
32718 _la = _input.LA(1);
32719 if ( !(_la==ON || _la==OFF) ) {
32720 _errHandler.recoverInline(this);
32721 }
32722 else {
32723 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32724 _errHandler.reportMatch(this);
32725 consume();
32726 }
32727 }
32728 break;
32729 case TRUSTWORTHY:
32730 enterOuterAlt(_localctx, 2);
32731 {
32732 setState(4585);
32733 match(TRUSTWORTHY);
32734 setState(4586);
32735 _la = _input.LA(1);
32736 if ( !(_la==ON || _la==OFF) ) {
32737 _errHandler.recoverInline(this);
32738 }
32739 else {
32740 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32741 _errHandler.reportMatch(this);
32742 consume();
32743 }
32744 }
32745 break;
32746 case DEFAULT_FULLTEXT_LANGUAGE:
32747 enterOuterAlt(_localctx, 3);
32748 {
32749 setState(4587);
32750 match(DEFAULT_FULLTEXT_LANGUAGE);
32751 setState(4588);
32752 match(EQ_);
32753 setState(4589);
32754 match(STRING_);
32755 }
32756 break;
32757 case DEFAULT_LANGUAGE:
32758 enterOuterAlt(_localctx, 4);
32759 {
32760 setState(4590);
32761 match(DEFAULT_LANGUAGE);
32762 setState(4591);
32763 match(EQ_);
32764 setState(4592);
32765 match(STRING_);
32766 }
32767 break;
32768 case NESTED_TRIGGERS:
32769 enterOuterAlt(_localctx, 5);
32770 {
32771 setState(4593);
32772 match(NESTED_TRIGGERS);
32773 setState(4594);
32774 match(EQ_);
32775 setState(4595);
32776 _la = _input.LA(1);
32777 if ( !(_la==ON || _la==OFF) ) {
32778 _errHandler.recoverInline(this);
32779 }
32780 else {
32781 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32782 _errHandler.reportMatch(this);
32783 consume();
32784 }
32785 }
32786 break;
32787 case TRANSFORM_NOISE_WORDS:
32788 enterOuterAlt(_localctx, 6);
32789 {
32790 setState(4596);
32791 match(TRANSFORM_NOISE_WORDS);
32792 setState(4597);
32793 match(EQ_);
32794 setState(4598);
32795 _la = _input.LA(1);
32796 if ( !(_la==ON || _la==OFF) ) {
32797 _errHandler.recoverInline(this);
32798 }
32799 else {
32800 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32801 _errHandler.reportMatch(this);
32802 consume();
32803 }
32804 }
32805 break;
32806 case TWO_DIGIT_YEAR_CUTOFF:
32807 enterOuterAlt(_localctx, 7);
32808 {
32809 setState(4599);
32810 match(TWO_DIGIT_YEAR_CUTOFF);
32811 setState(4600);
32812 match(EQ_);
32813 setState(4601);
32814 match(NUMBER_);
32815 }
32816 break;
32817 default:
32818 throw new NoViableAltException(this);
32819 }
32820 }
32821 catch (RecognitionException re) {
32822 _localctx.exception = re;
32823 _errHandler.reportError(this, re);
32824 _errHandler.recover(this, re);
32825 }
32826 finally {
32827 exitRule();
32828 }
32829 return _localctx;
32830 }
32831
32832 public static class QueryStoreOptionsContext extends ParserRuleContext {
32833 public TerminalNode QUERY_STORE() { return getToken(SQLServerStatementParser.QUERY_STORE, 0); }
32834 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32835 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32836 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32837 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32838 public List<QueryStoreOptionListContext> queryStoreOptionList() {
32839 return getRuleContexts(QueryStoreOptionListContext.class);
32840 }
32841 public QueryStoreOptionListContext queryStoreOptionList(int i) {
32842 return getRuleContext(QueryStoreOptionListContext.class,i);
32843 }
32844 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32845 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
32846 public TerminalNode COMMA_(int i) {
32847 return getToken(SQLServerStatementParser.COMMA_, i);
32848 }
32849 public QueryStoreOptionsContext(ParserRuleContext parent, int invokingState) {
32850 super(parent, invokingState);
32851 }
32852 @Override public int getRuleIndex() { return RULE_queryStoreOptions; }
32853 @Override
32854 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32855 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryStoreOptions(this);
32856 else return visitor.visitChildren(this);
32857 }
32858 }
32859
32860 public final QueryStoreOptionsContext queryStoreOptions() throws RecognitionException {
32861 QueryStoreOptionsContext _localctx = new QueryStoreOptionsContext(_ctx, getState());
32862 enterRule(_localctx, 632, RULE_queryStoreOptions);
32863 int _la;
32864 try {
32865 enterOuterAlt(_localctx, 1);
32866 {
32867 setState(4604);
32868 match(QUERY_STORE);
32869 setState(4624);
32870 _errHandler.sync(this);
32871 switch ( getInterpreter().adaptivePredict(_input,499,_ctx) ) {
32872 case 1:
32873 {
32874 setState(4605);
32875 match(EQ_);
32876 setState(4606);
32877 match(OFF);
32878 }
32879 break;
32880 case 2:
32881 {
32882 setState(4609);
32883 _errHandler.sync(this);
32884 _la = _input.LA(1);
32885 if (_la==EQ_) {
32886 {
32887 setState(4607);
32888 match(EQ_);
32889 setState(4608);
32890 match(ON);
32891 }
32892 }
32893
32894 setState(4622);
32895 _errHandler.sync(this);
32896 switch ( getInterpreter().adaptivePredict(_input,498,_ctx) ) {
32897 case 1:
32898 {
32899 setState(4611);
32900 match(LP_);
32901 setState(4612);
32902 queryStoreOptionList();
32903 setState(4617);
32904 _errHandler.sync(this);
32905 _la = _input.LA(1);
32906 while (_la==COMMA_) {
32907 {
32908 {
32909 setState(4613);
32910 match(COMMA_);
32911 setState(4614);
32912 queryStoreOptionList();
32913 }
32914 }
32915 setState(4619);
32916 _errHandler.sync(this);
32917 _la = _input.LA(1);
32918 }
32919 setState(4620);
32920 match(RP_);
32921 }
32922 break;
32923 }
32924 }
32925 break;
32926 }
32927 }
32928 }
32929 catch (RecognitionException re) {
32930 _localctx.exception = re;
32931 _errHandler.reportError(this, re);
32932 _errHandler.recover(this, re);
32933 }
32934 finally {
32935 exitRule();
32936 }
32937 return _localctx;
32938 }
32939
32940 public static class QueryStoreOptionListContext extends ParserRuleContext {
32941 public TerminalNode OPERATION_MODE() { return getToken(SQLServerStatementParser.OPERATION_MODE, 0); }
32942 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
32943 public TerminalNode EQ_(int i) {
32944 return getToken(SQLServerStatementParser.EQ_, i);
32945 }
32946 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
32947 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
32948 public TerminalNode CLEANUP_POLICY() { return getToken(SQLServerStatementParser.CLEANUP_POLICY, 0); }
32949 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32950 public TerminalNode STALE_QUERY_THRESHOLD_DAYS() { return getToken(SQLServerStatementParser.STALE_QUERY_THRESHOLD_DAYS, 0); }
32951 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
32952 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32953 public TerminalNode DATA_FLUSH_INTERVAL_SECONDS() { return getToken(SQLServerStatementParser.DATA_FLUSH_INTERVAL_SECONDS, 0); }
32954 public TerminalNode MAX_STORAGE_SIZE_MB() { return getToken(SQLServerStatementParser.MAX_STORAGE_SIZE_MB, 0); }
32955 public TerminalNode INTERVAL_LENGTH_MINUTES() { return getToken(SQLServerStatementParser.INTERVAL_LENGTH_MINUTES, 0); }
32956 public TerminalNode SIZE_BASED_CLEANUP_MODE() { return getToken(SQLServerStatementParser.SIZE_BASED_CLEANUP_MODE, 0); }
32957 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
32958 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32959 public TerminalNode QUERY_CAPTURE_MODE() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_MODE, 0); }
32960 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
32961 public TerminalNode CUSTOM() { return getToken(SQLServerStatementParser.CUSTOM, 0); }
32962 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
32963 public TerminalNode MAX_PLANS_PER_QUERY() { return getToken(SQLServerStatementParser.MAX_PLANS_PER_QUERY, 0); }
32964 public TerminalNode WAIT_STATS_CAPTURE_MODE() { return getToken(SQLServerStatementParser.WAIT_STATS_CAPTURE_MODE, 0); }
32965 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32966 public TerminalNode QUERY_CAPTURE_POLICY() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_POLICY, 0); }
32967 public List<QueryCapturePolicyOptionListContext> queryCapturePolicyOptionList() {
32968 return getRuleContexts(QueryCapturePolicyOptionListContext.class);
32969 }
32970 public QueryCapturePolicyOptionListContext queryCapturePolicyOptionList(int i) {
32971 return getRuleContext(QueryCapturePolicyOptionListContext.class,i);
32972 }
32973 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
32974 public TerminalNode COMMA_(int i) {
32975 return getToken(SQLServerStatementParser.COMMA_, i);
32976 }
32977 public QueryStoreOptionListContext(ParserRuleContext parent, int invokingState) {
32978 super(parent, invokingState);
32979 }
32980 @Override public int getRuleIndex() { return RULE_queryStoreOptionList; }
32981 @Override
32982 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32983 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryStoreOptionList(this);
32984 else return visitor.visitChildren(this);
32985 }
32986 }
32987
32988 public final QueryStoreOptionListContext queryStoreOptionList() throws RecognitionException {
32989 QueryStoreOptionListContext _localctx = new QueryStoreOptionListContext(_ctx, getState());
32990 enterRule(_localctx, 634, RULE_queryStoreOptionList);
32991 int _la;
32992 try {
32993 setState(4670);
32994 _errHandler.sync(this);
32995 switch (_input.LA(1)) {
32996 case OPERATION_MODE:
32997 enterOuterAlt(_localctx, 1);
32998 {
32999 setState(4626);
33000 match(OPERATION_MODE);
33001 setState(4627);
33002 match(EQ_);
33003 setState(4628);
33004 _la = _input.LA(1);
33005 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
33006 _errHandler.recoverInline(this);
33007 }
33008 else {
33009 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33010 _errHandler.reportMatch(this);
33011 consume();
33012 }
33013 }
33014 break;
33015 case CLEANUP_POLICY:
33016 enterOuterAlt(_localctx, 2);
33017 {
33018 setState(4629);
33019 match(CLEANUP_POLICY);
33020 setState(4630);
33021 match(EQ_);
33022 setState(4631);
33023 match(LP_);
33024 setState(4632);
33025 match(STALE_QUERY_THRESHOLD_DAYS);
33026 setState(4633);
33027 match(EQ_);
33028 setState(4634);
33029 match(NUMBER_);
33030 setState(4635);
33031 match(RP_);
33032 }
33033 break;
33034 case DATA_FLUSH_INTERVAL_SECONDS:
33035 enterOuterAlt(_localctx, 3);
33036 {
33037 setState(4636);
33038 match(DATA_FLUSH_INTERVAL_SECONDS);
33039 setState(4637);
33040 match(EQ_);
33041 setState(4638);
33042 match(NUMBER_);
33043 }
33044 break;
33045 case MAX_STORAGE_SIZE_MB:
33046 enterOuterAlt(_localctx, 4);
33047 {
33048 setState(4639);
33049 match(MAX_STORAGE_SIZE_MB);
33050 setState(4640);
33051 match(EQ_);
33052 setState(4641);
33053 match(NUMBER_);
33054 }
33055 break;
33056 case INTERVAL_LENGTH_MINUTES:
33057 enterOuterAlt(_localctx, 5);
33058 {
33059 setState(4642);
33060 match(INTERVAL_LENGTH_MINUTES);
33061 setState(4643);
33062 match(EQ_);
33063 setState(4644);
33064 match(NUMBER_);
33065 }
33066 break;
33067 case SIZE_BASED_CLEANUP_MODE:
33068 enterOuterAlt(_localctx, 6);
33069 {
33070 setState(4645);
33071 match(SIZE_BASED_CLEANUP_MODE);
33072 setState(4646);
33073 match(EQ_);
33074 setState(4647);
33075 _la = _input.LA(1);
33076 if ( !(_la==OFF || _la==AUTO) ) {
33077 _errHandler.recoverInline(this);
33078 }
33079 else {
33080 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33081 _errHandler.reportMatch(this);
33082 consume();
33083 }
33084 }
33085 break;
33086 case QUERY_CAPTURE_MODE:
33087 enterOuterAlt(_localctx, 7);
33088 {
33089 setState(4648);
33090 match(QUERY_CAPTURE_MODE);
33091 setState(4649);
33092 match(EQ_);
33093 setState(4650);
33094 _la = _input.LA(1);
33095 if ( !(_la==ALL || _la==AUTO || _la==NONE || _la==CUSTOM) ) {
33096 _errHandler.recoverInline(this);
33097 }
33098 else {
33099 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33100 _errHandler.reportMatch(this);
33101 consume();
33102 }
33103 }
33104 break;
33105 case MAX_PLANS_PER_QUERY:
33106 enterOuterAlt(_localctx, 8);
33107 {
33108 setState(4651);
33109 match(MAX_PLANS_PER_QUERY);
33110 setState(4652);
33111 match(EQ_);
33112 setState(4653);
33113 match(NUMBER_);
33114 }
33115 break;
33116 case WAIT_STATS_CAPTURE_MODE:
33117 enterOuterAlt(_localctx, 9);
33118 {
33119 setState(4654);
33120 match(WAIT_STATS_CAPTURE_MODE);
33121 setState(4655);
33122 match(EQ_);
33123 setState(4656);
33124 _la = _input.LA(1);
33125 if ( !(_la==ON || _la==OFF) ) {
33126 _errHandler.recoverInline(this);
33127 }
33128 else {
33129 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33130 _errHandler.reportMatch(this);
33131 consume();
33132 }
33133 }
33134 break;
33135 case QUERY_CAPTURE_POLICY:
33136 enterOuterAlt(_localctx, 10);
33137 {
33138 setState(4657);
33139 match(QUERY_CAPTURE_POLICY);
33140 setState(4658);
33141 match(EQ_);
33142 setState(4659);
33143 match(LP_);
33144 setState(4660);
33145 queryCapturePolicyOptionList();
33146 setState(4665);
33147 _errHandler.sync(this);
33148 _la = _input.LA(1);
33149 while (_la==COMMA_) {
33150 {
33151 {
33152 setState(4661);
33153 match(COMMA_);
33154 setState(4662);
33155 queryCapturePolicyOptionList();
33156 }
33157 }
33158 setState(4667);
33159 _errHandler.sync(this);
33160 _la = _input.LA(1);
33161 }
33162 setState(4668);
33163 match(RP_);
33164 }
33165 break;
33166 default:
33167 throw new NoViableAltException(this);
33168 }
33169 }
33170 catch (RecognitionException re) {
33171 _localctx.exception = re;
33172 _errHandler.reportError(this, re);
33173 _errHandler.recover(this, re);
33174 }
33175 finally {
33176 exitRule();
33177 }
33178 return _localctx;
33179 }
33180
33181 public static class QueryCapturePolicyOptionListContext extends ParserRuleContext {
33182 public TerminalNode STALE_CAPTURE_POLICY_THRESHOLD() { return getToken(SQLServerStatementParser.STALE_CAPTURE_POLICY_THRESHOLD, 0); }
33183 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33184 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
33185 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
33186 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
33187 public TerminalNode EXECUTION_COUNT() { return getToken(SQLServerStatementParser.EXECUTION_COUNT, 0); }
33188 public TerminalNode TOTAL_COMPILE_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_COMPILE_CPU_TIME_MS, 0); }
33189 public TerminalNode TOTAL_EXECUTION_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_EXECUTION_CPU_TIME_MS, 0); }
33190 public QueryCapturePolicyOptionListContext(ParserRuleContext parent, int invokingState) {
33191 super(parent, invokingState);
33192 }
33193 @Override public int getRuleIndex() { return RULE_queryCapturePolicyOptionList; }
33194 @Override
33195 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33196 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryCapturePolicyOptionList(this);
33197 else return visitor.visitChildren(this);
33198 }
33199 }
33200
33201 public final QueryCapturePolicyOptionListContext queryCapturePolicyOptionList() throws RecognitionException {
33202 QueryCapturePolicyOptionListContext _localctx = new QueryCapturePolicyOptionListContext(_ctx, getState());
33203 enterRule(_localctx, 636, RULE_queryCapturePolicyOptionList);
33204 int _la;
33205 try {
33206 setState(4685);
33207 _errHandler.sync(this);
33208 switch (_input.LA(1)) {
33209 case STALE_CAPTURE_POLICY_THRESHOLD:
33210 enterOuterAlt(_localctx, 1);
33211 {
33212 setState(4672);
33213 match(STALE_CAPTURE_POLICY_THRESHOLD);
33214 setState(4673);
33215 match(EQ_);
33216 setState(4674);
33217 match(NUMBER_);
33218 setState(4675);
33219 _la = _input.LA(1);
33220 if ( !(_la==DAYS || _la==HOURS) ) {
33221 _errHandler.recoverInline(this);
33222 }
33223 else {
33224 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33225 _errHandler.reportMatch(this);
33226 consume();
33227 }
33228 }
33229 break;
33230 case EXECUTION_COUNT:
33231 enterOuterAlt(_localctx, 2);
33232 {
33233 setState(4676);
33234 match(EXECUTION_COUNT);
33235 setState(4677);
33236 match(EQ_);
33237 setState(4678);
33238 match(NUMBER_);
33239 }
33240 break;
33241 case TOTAL_COMPILE_CPU_TIME_MS:
33242 enterOuterAlt(_localctx, 3);
33243 {
33244 setState(4679);
33245 match(TOTAL_COMPILE_CPU_TIME_MS);
33246 setState(4680);
33247 match(EQ_);
33248 setState(4681);
33249 match(NUMBER_);
33250 }
33251 break;
33252 case TOTAL_EXECUTION_CPU_TIME_MS:
33253 enterOuterAlt(_localctx, 4);
33254 {
33255 setState(4682);
33256 match(TOTAL_EXECUTION_CPU_TIME_MS);
33257 setState(4683);
33258 match(EQ_);
33259 setState(4684);
33260 match(NUMBER_);
33261 }
33262 break;
33263 default:
33264 throw new NoViableAltException(this);
33265 }
33266 }
33267 catch (RecognitionException re) {
33268 _localctx.exception = re;
33269 _errHandler.reportError(this, re);
33270 _errHandler.recover(this, re);
33271 }
33272 finally {
33273 exitRule();
33274 }
33275 return _localctx;
33276 }
33277
33278 public static class RecoveryOptionContext extends ParserRuleContext {
33279 public TerminalNode RECOVERY() { return getToken(SQLServerStatementParser.RECOVERY, 0); }
33280 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
33281 public TerminalNode BULK_LOGGED() { return getToken(SQLServerStatementParser.BULK_LOGGED, 0); }
33282 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
33283 public TerminalNode TORN_PAGE_DETECTION() { return getToken(SQLServerStatementParser.TORN_PAGE_DETECTION, 0); }
33284 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33285 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33286 public TerminalNode PAGE_VERIFY() { return getToken(SQLServerStatementParser.PAGE_VERIFY, 0); }
33287 public TerminalNode CHECKSUM() { return getToken(SQLServerStatementParser.CHECKSUM, 0); }
33288 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
33289 public RecoveryOptionContext(ParserRuleContext parent, int invokingState) {
33290 super(parent, invokingState);
33291 }
33292 @Override public int getRuleIndex() { return RULE_recoveryOption; }
33293 @Override
33294 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33295 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRecoveryOption(this);
33296 else return visitor.visitChildren(this);
33297 }
33298 }
33299
33300 public final RecoveryOptionContext recoveryOption() throws RecognitionException {
33301 RecoveryOptionContext _localctx = new RecoveryOptionContext(_ctx, getState());
33302 enterRule(_localctx, 638, RULE_recoveryOption);
33303 int _la;
33304 try {
33305 setState(4693);
33306 _errHandler.sync(this);
33307 switch (_input.LA(1)) {
33308 case RECOVERY:
33309 enterOuterAlt(_localctx, 1);
33310 {
33311 setState(4687);
33312 match(RECOVERY);
33313 setState(4688);
33314 _la = _input.LA(1);
33315 if ( !(_la==FULL || _la==SIMPLE || _la==BULK_LOGGED) ) {
33316 _errHandler.recoverInline(this);
33317 }
33318 else {
33319 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33320 _errHandler.reportMatch(this);
33321 consume();
33322 }
33323 }
33324 break;
33325 case TORN_PAGE_DETECTION:
33326 enterOuterAlt(_localctx, 2);
33327 {
33328 setState(4689);
33329 match(TORN_PAGE_DETECTION);
33330 setState(4690);
33331 _la = _input.LA(1);
33332 if ( !(_la==ON || _la==OFF) ) {
33333 _errHandler.recoverInline(this);
33334 }
33335 else {
33336 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33337 _errHandler.reportMatch(this);
33338 consume();
33339 }
33340 }
33341 break;
33342 case PAGE_VERIFY:
33343 enterOuterAlt(_localctx, 3);
33344 {
33345 setState(4691);
33346 match(PAGE_VERIFY);
33347 setState(4692);
33348 _la = _input.LA(1);
33349 if ( !(_la==NONE || _la==CHECKSUM || _la==TORN_PAGE_DETECTION) ) {
33350 _errHandler.recoverInline(this);
33351 }
33352 else {
33353 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33354 _errHandler.reportMatch(this);
33355 consume();
33356 }
33357 }
33358 break;
33359 default:
33360 throw new NoViableAltException(this);
33361 }
33362 }
33363 catch (RecognitionException re) {
33364 _localctx.exception = re;
33365 _errHandler.reportError(this, re);
33366 _errHandler.recover(this, re);
33367 }
33368 finally {
33369 exitRule();
33370 }
33371 return _localctx;
33372 }
33373
33374 public static class SqlOptionContext extends ParserRuleContext {
33375 public TerminalNode ANSI_NULL_DEFAULT() { return getToken(SQLServerStatementParser.ANSI_NULL_DEFAULT, 0); }
33376 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33377 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33378 public TerminalNode ANSI_NULLS() { return getToken(SQLServerStatementParser.ANSI_NULLS, 0); }
33379 public TerminalNode ANSI_PADDING() { return getToken(SQLServerStatementParser.ANSI_PADDING, 0); }
33380 public TerminalNode ANSI_WARNINGS() { return getToken(SQLServerStatementParser.ANSI_WARNINGS, 0); }
33381 public TerminalNode ARITHABORT() { return getToken(SQLServerStatementParser.ARITHABORT, 0); }
33382 public TerminalNode COMPATIBILITY_LEVEL() { return getToken(SQLServerStatementParser.COMPATIBILITY_LEVEL, 0); }
33383 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33384 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
33385 public TerminalNode CONCAT_NULL_YIELDS_NULL() { return getToken(SQLServerStatementParser.CONCAT_NULL_YIELDS_NULL, 0); }
33386 public TerminalNode NUMERIC_ROUNDABORT() { return getToken(SQLServerStatementParser.NUMERIC_ROUNDABORT, 0); }
33387 public TerminalNode QUOTED_IDENTIFIER() { return getToken(SQLServerStatementParser.QUOTED_IDENTIFIER, 0); }
33388 public TerminalNode RECURSIVE_TRIGGERS() { return getToken(SQLServerStatementParser.RECURSIVE_TRIGGERS, 0); }
33389 public SqlOptionContext(ParserRuleContext parent, int invokingState) {
33390 super(parent, invokingState);
33391 }
33392 @Override public int getRuleIndex() { return RULE_sqlOption; }
33393 @Override
33394 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33395 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSqlOption(this);
33396 else return visitor.visitChildren(this);
33397 }
33398 }
33399
33400 public final SqlOptionContext sqlOption() throws RecognitionException {
33401 SqlOptionContext _localctx = new SqlOptionContext(_ctx, getState());
33402 enterRule(_localctx, 640, RULE_sqlOption);
33403 int _la;
33404 try {
33405 setState(4716);
33406 _errHandler.sync(this);
33407 switch (_input.LA(1)) {
33408 case ANSI_NULL_DEFAULT:
33409 enterOuterAlt(_localctx, 1);
33410 {
33411 setState(4695);
33412 match(ANSI_NULL_DEFAULT);
33413 setState(4696);
33414 _la = _input.LA(1);
33415 if ( !(_la==ON || _la==OFF) ) {
33416 _errHandler.recoverInline(this);
33417 }
33418 else {
33419 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33420 _errHandler.reportMatch(this);
33421 consume();
33422 }
33423 }
33424 break;
33425 case ANSI_NULLS:
33426 enterOuterAlt(_localctx, 2);
33427 {
33428 setState(4697);
33429 match(ANSI_NULLS);
33430 setState(4698);
33431 _la = _input.LA(1);
33432 if ( !(_la==ON || _la==OFF) ) {
33433 _errHandler.recoverInline(this);
33434 }
33435 else {
33436 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33437 _errHandler.reportMatch(this);
33438 consume();
33439 }
33440 }
33441 break;
33442 case ANSI_PADDING:
33443 enterOuterAlt(_localctx, 3);
33444 {
33445 setState(4699);
33446 match(ANSI_PADDING);
33447 setState(4700);
33448 _la = _input.LA(1);
33449 if ( !(_la==ON || _la==OFF) ) {
33450 _errHandler.recoverInline(this);
33451 }
33452 else {
33453 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33454 _errHandler.reportMatch(this);
33455 consume();
33456 }
33457 }
33458 break;
33459 case ANSI_WARNINGS:
33460 enterOuterAlt(_localctx, 4);
33461 {
33462 setState(4701);
33463 match(ANSI_WARNINGS);
33464 setState(4702);
33465 _la = _input.LA(1);
33466 if ( !(_la==ON || _la==OFF) ) {
33467 _errHandler.recoverInline(this);
33468 }
33469 else {
33470 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33471 _errHandler.reportMatch(this);
33472 consume();
33473 }
33474 }
33475 break;
33476 case ARITHABORT:
33477 enterOuterAlt(_localctx, 5);
33478 {
33479 setState(4703);
33480 match(ARITHABORT);
33481 setState(4704);
33482 _la = _input.LA(1);
33483 if ( !(_la==ON || _la==OFF) ) {
33484 _errHandler.recoverInline(this);
33485 }
33486 else {
33487 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33488 _errHandler.reportMatch(this);
33489 consume();
33490 }
33491 }
33492 break;
33493 case COMPATIBILITY_LEVEL:
33494 enterOuterAlt(_localctx, 6);
33495 {
33496 setState(4705);
33497 match(COMPATIBILITY_LEVEL);
33498 setState(4706);
33499 match(EQ_);
33500 setState(4707);
33501 match(NUMBER_);
33502 }
33503 break;
33504 case CONCAT_NULL_YIELDS_NULL:
33505 enterOuterAlt(_localctx, 7);
33506 {
33507 setState(4708);
33508 match(CONCAT_NULL_YIELDS_NULL);
33509 setState(4709);
33510 _la = _input.LA(1);
33511 if ( !(_la==ON || _la==OFF) ) {
33512 _errHandler.recoverInline(this);
33513 }
33514 else {
33515 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33516 _errHandler.reportMatch(this);
33517 consume();
33518 }
33519 }
33520 break;
33521 case NUMERIC_ROUNDABORT:
33522 enterOuterAlt(_localctx, 8);
33523 {
33524 setState(4710);
33525 match(NUMERIC_ROUNDABORT);
33526 setState(4711);
33527 _la = _input.LA(1);
33528 if ( !(_la==ON || _la==OFF) ) {
33529 _errHandler.recoverInline(this);
33530 }
33531 else {
33532 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33533 _errHandler.reportMatch(this);
33534 consume();
33535 }
33536 }
33537 break;
33538 case QUOTED_IDENTIFIER:
33539 enterOuterAlt(_localctx, 9);
33540 {
33541 setState(4712);
33542 match(QUOTED_IDENTIFIER);
33543 setState(4713);
33544 _la = _input.LA(1);
33545 if ( !(_la==ON || _la==OFF) ) {
33546 _errHandler.recoverInline(this);
33547 }
33548 else {
33549 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33550 _errHandler.reportMatch(this);
33551 consume();
33552 }
33553 }
33554 break;
33555 case RECURSIVE_TRIGGERS:
33556 enterOuterAlt(_localctx, 10);
33557 {
33558 setState(4714);
33559 match(RECURSIVE_TRIGGERS);
33560 setState(4715);
33561 _la = _input.LA(1);
33562 if ( !(_la==ON || _la==OFF) ) {
33563 _errHandler.recoverInline(this);
33564 }
33565 else {
33566 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33567 _errHandler.reportMatch(this);
33568 consume();
33569 }
33570 }
33571 break;
33572 default:
33573 throw new NoViableAltException(this);
33574 }
33575 }
33576 catch (RecognitionException re) {
33577 _localctx.exception = re;
33578 _errHandler.reportError(this, re);
33579 _errHandler.recover(this, re);
33580 }
33581 finally {
33582 exitRule();
33583 }
33584 return _localctx;
33585 }
33586
33587 public static class SnapshotOptionContext extends ParserRuleContext {
33588 public TerminalNode ALLOW_SNAPSHOT_ISOLATION() { return getToken(SQLServerStatementParser.ALLOW_SNAPSHOT_ISOLATION, 0); }
33589 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33590 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33591 public TerminalNode READ_COMMITTED_SNAPSHOT() { return getToken(SQLServerStatementParser.READ_COMMITTED_SNAPSHOT, 0); }
33592 public TerminalNode MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT, 0); }
33593 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33594 public SnapshotOptionContext(ParserRuleContext parent, int invokingState) {
33595 super(parent, invokingState);
33596 }
33597 @Override public int getRuleIndex() { return RULE_snapshotOption; }
33598 @Override
33599 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33600 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSnapshotOption(this);
33601 else return visitor.visitChildren(this);
33602 }
33603 }
33604
33605 public final SnapshotOptionContext snapshotOption() throws RecognitionException {
33606 SnapshotOptionContext _localctx = new SnapshotOptionContext(_ctx, getState());
33607 enterRule(_localctx, 642, RULE_snapshotOption);
33608 int _la;
33609 try {
33610 setState(4725);
33611 _errHandler.sync(this);
33612 switch (_input.LA(1)) {
33613 case ALLOW_SNAPSHOT_ISOLATION:
33614 enterOuterAlt(_localctx, 1);
33615 {
33616 setState(4718);
33617 match(ALLOW_SNAPSHOT_ISOLATION);
33618 setState(4719);
33619 _la = _input.LA(1);
33620 if ( !(_la==ON || _la==OFF) ) {
33621 _errHandler.recoverInline(this);
33622 }
33623 else {
33624 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33625 _errHandler.reportMatch(this);
33626 consume();
33627 }
33628 }
33629 break;
33630 case READ_COMMITTED_SNAPSHOT:
33631 enterOuterAlt(_localctx, 2);
33632 {
33633 setState(4720);
33634 match(READ_COMMITTED_SNAPSHOT);
33635 setState(4721);
33636 _la = _input.LA(1);
33637 if ( !(_la==ON || _la==OFF) ) {
33638 _errHandler.recoverInline(this);
33639 }
33640 else {
33641 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33642 _errHandler.reportMatch(this);
33643 consume();
33644 }
33645 }
33646 break;
33647 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
33648 enterOuterAlt(_localctx, 3);
33649 {
33650 setState(4722);
33651 match(MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT);
33652 setState(4723);
33653 match(EQ_);
33654 setState(4724);
33655 _la = _input.LA(1);
33656 if ( !(_la==ON || _la==OFF) ) {
33657 _errHandler.recoverInline(this);
33658 }
33659 else {
33660 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33661 _errHandler.reportMatch(this);
33662 consume();
33663 }
33664 }
33665 break;
33666 default:
33667 throw new NoViableAltException(this);
33668 }
33669 }
33670 catch (RecognitionException re) {
33671 _localctx.exception = re;
33672 _errHandler.reportError(this, re);
33673 _errHandler.recover(this, re);
33674 }
33675 finally {
33676 exitRule();
33677 }
33678 return _localctx;
33679 }
33680
33681 public static class ServiceBrokerOptionContext extends ParserRuleContext {
33682 public TerminalNode ENABLE_BROKER() { return getToken(SQLServerStatementParser.ENABLE_BROKER, 0); }
33683 public TerminalNode DISABLE_BROKER() { return getToken(SQLServerStatementParser.DISABLE_BROKER, 0); }
33684 public TerminalNode NEW_BROKER() { return getToken(SQLServerStatementParser.NEW_BROKER, 0); }
33685 public TerminalNode ERROR_BROKER_CONVERSATIONS() { return getToken(SQLServerStatementParser.ERROR_BROKER_CONVERSATIONS, 0); }
33686 public TerminalNode HONOR_BROKER_PRIORITY() { return getToken(SQLServerStatementParser.HONOR_BROKER_PRIORITY, 0); }
33687 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33688 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33689 public ServiceBrokerOptionContext(ParserRuleContext parent, int invokingState) {
33690 super(parent, invokingState);
33691 }
33692 @Override public int getRuleIndex() { return RULE_serviceBrokerOption; }
33693 @Override
33694 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33695 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerOption(this);
33696 else return visitor.visitChildren(this);
33697 }
33698 }
33699
33700 public final ServiceBrokerOptionContext serviceBrokerOption() throws RecognitionException {
33701 ServiceBrokerOptionContext _localctx = new ServiceBrokerOptionContext(_ctx, getState());
33702 enterRule(_localctx, 644, RULE_serviceBrokerOption);
33703 int _la;
33704 try {
33705 setState(4733);
33706 _errHandler.sync(this);
33707 switch (_input.LA(1)) {
33708 case ENABLE_BROKER:
33709 enterOuterAlt(_localctx, 1);
33710 {
33711 setState(4727);
33712 match(ENABLE_BROKER);
33713 }
33714 break;
33715 case DISABLE_BROKER:
33716 enterOuterAlt(_localctx, 2);
33717 {
33718 setState(4728);
33719 match(DISABLE_BROKER);
33720 }
33721 break;
33722 case NEW_BROKER:
33723 enterOuterAlt(_localctx, 3);
33724 {
33725 setState(4729);
33726 match(NEW_BROKER);
33727 }
33728 break;
33729 case ERROR_BROKER_CONVERSATIONS:
33730 enterOuterAlt(_localctx, 4);
33731 {
33732 setState(4730);
33733 match(ERROR_BROKER_CONVERSATIONS);
33734 }
33735 break;
33736 case HONOR_BROKER_PRIORITY:
33737 enterOuterAlt(_localctx, 5);
33738 {
33739 setState(4731);
33740 match(HONOR_BROKER_PRIORITY);
33741 setState(4732);
33742 _la = _input.LA(1);
33743 if ( !(_la==ON || _la==OFF) ) {
33744 _errHandler.recoverInline(this);
33745 }
33746 else {
33747 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33748 _errHandler.reportMatch(this);
33749 consume();
33750 }
33751 }
33752 break;
33753 default:
33754 throw new NoViableAltException(this);
33755 }
33756 }
33757 catch (RecognitionException re) {
33758 _localctx.exception = re;
33759 _errHandler.reportError(this, re);
33760 _errHandler.recover(this, re);
33761 }
33762 finally {
33763 exitRule();
33764 }
33765 return _localctx;
33766 }
33767
33768 public static class TargetRecoveryTimeOptionContext extends ParserRuleContext {
33769 public TerminalNode TARGET_RECOVERY_TIME() { return getToken(SQLServerStatementParser.TARGET_RECOVERY_TIME, 0); }
33770 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33771 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
33772 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
33773 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
33774 public TargetRecoveryTimeOptionContext(ParserRuleContext parent, int invokingState) {
33775 super(parent, invokingState);
33776 }
33777 @Override public int getRuleIndex() { return RULE_targetRecoveryTimeOption; }
33778 @Override
33779 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33780 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTargetRecoveryTimeOption(this);
33781 else return visitor.visitChildren(this);
33782 }
33783 }
33784
33785 public final TargetRecoveryTimeOptionContext targetRecoveryTimeOption() throws RecognitionException {
33786 TargetRecoveryTimeOptionContext _localctx = new TargetRecoveryTimeOptionContext(_ctx, getState());
33787 enterRule(_localctx, 646, RULE_targetRecoveryTimeOption);
33788 int _la;
33789 try {
33790 enterOuterAlt(_localctx, 1);
33791 {
33792 setState(4735);
33793 match(TARGET_RECOVERY_TIME);
33794 setState(4736);
33795 match(EQ_);
33796 setState(4737);
33797 match(NUMBER_);
33798 setState(4738);
33799 _la = _input.LA(1);
33800 if ( !(_la==MINUTES || _la==SECONDS) ) {
33801 _errHandler.recoverInline(this);
33802 }
33803 else {
33804 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33805 _errHandler.reportMatch(this);
33806 consume();
33807 }
33808 }
33809 }
33810 catch (RecognitionException re) {
33811 _localctx.exception = re;
33812 _errHandler.reportError(this, re);
33813 _errHandler.recover(this, re);
33814 }
33815 finally {
33816 exitRule();
33817 }
33818 return _localctx;
33819 }
33820
33821 public static class TerminationContext extends ParserRuleContext {
33822 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
33823 public TerminalNode AFTER() { return getToken(SQLServerStatementParser.AFTER, 0); }
33824 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
33825 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
33826 public TerminalNode IMMEDIATE() { return getToken(SQLServerStatementParser.IMMEDIATE, 0); }
33827 public TerminalNode NO_WAIT() { return getToken(SQLServerStatementParser.NO_WAIT, 0); }
33828 public TerminationContext(ParserRuleContext parent, int invokingState) {
33829 super(parent, invokingState);
33830 }
33831 @Override public int getRuleIndex() { return RULE_termination; }
33832 @Override
33833 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33834 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTermination(this);
33835 else return visitor.visitChildren(this);
33836 }
33837 }
33838
33839 public final TerminationContext termination() throws RecognitionException {
33840 TerminationContext _localctx = new TerminationContext(_ctx, getState());
33841 enterRule(_localctx, 648, RULE_termination);
33842 int _la;
33843 try {
33844 setState(4749);
33845 _errHandler.sync(this);
33846 switch ( getInterpreter().adaptivePredict(_input,508,_ctx) ) {
33847 case 1:
33848 enterOuterAlt(_localctx, 1);
33849 {
33850 setState(4740);
33851 match(ROLLBACK);
33852 setState(4741);
33853 match(AFTER);
33854 setState(4742);
33855 match(NUMBER_);
33856 setState(4744);
33857 _errHandler.sync(this);
33858 _la = _input.LA(1);
33859 if (_la==SECONDS) {
33860 {
33861 setState(4743);
33862 match(SECONDS);
33863 }
33864 }
33865
33866 }
33867 break;
33868 case 2:
33869 enterOuterAlt(_localctx, 2);
33870 {
33871 setState(4746);
33872 match(ROLLBACK);
33873 setState(4747);
33874 match(IMMEDIATE);
33875 }
33876 break;
33877 case 3:
33878 enterOuterAlt(_localctx, 3);
33879 {
33880 setState(4748);
33881 match(NO_WAIT);
33882 }
33883 break;
33884 }
33885 }
33886 catch (RecognitionException re) {
33887 _localctx.exception = re;
33888 _errHandler.reportError(this, re);
33889 _errHandler.recover(this, re);
33890 }
33891 finally {
33892 exitRule();
33893 }
33894 return _localctx;
33895 }
33896
33897 public static class CreateServiceClauseContext extends ParserRuleContext {
33898 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33899 public List<ContractNameContext> contractName() {
33900 return getRuleContexts(ContractNameContext.class);
33901 }
33902 public ContractNameContext contractName(int i) {
33903 return getRuleContext(ContractNameContext.class,i);
33904 }
33905 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33906 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
33907 public TerminalNode COMMA_(int i) {
33908 return getToken(SQLServerStatementParser.COMMA_, i);
33909 }
33910 public CreateServiceClauseContext(ParserRuleContext parent, int invokingState) {
33911 super(parent, invokingState);
33912 }
33913 @Override public int getRuleIndex() { return RULE_createServiceClause; }
33914 @Override
33915 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33916 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateServiceClause(this);
33917 else return visitor.visitChildren(this);
33918 }
33919 }
33920
33921 public final CreateServiceClauseContext createServiceClause() throws RecognitionException {
33922 CreateServiceClauseContext _localctx = new CreateServiceClauseContext(_ctx, getState());
33923 enterRule(_localctx, 650, RULE_createServiceClause);
33924 int _la;
33925 try {
33926 enterOuterAlt(_localctx, 1);
33927 {
33928 setState(4751);
33929 match(LP_);
33930 setState(4752);
33931 contractName();
33932 setState(4757);
33933 _errHandler.sync(this);
33934 _la = _input.LA(1);
33935 while (_la==COMMA_) {
33936 {
33937 {
33938 setState(4753);
33939 match(COMMA_);
33940 setState(4754);
33941 contractName();
33942 }
33943 }
33944 setState(4759);
33945 _errHandler.sync(this);
33946 _la = _input.LA(1);
33947 }
33948 setState(4760);
33949 match(RP_);
33950 }
33951 }
33952 catch (RecognitionException re) {
33953 _localctx.exception = re;
33954 _errHandler.reportError(this, re);
33955 _errHandler.recover(this, re);
33956 }
33957 finally {
33958 exitRule();
33959 }
33960 return _localctx;
33961 }
33962
33963 public static class AlterServiceClauseContext extends ParserRuleContext {
33964 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33965 public List<AlterServiceOptArgContext> alterServiceOptArg() {
33966 return getRuleContexts(AlterServiceOptArgContext.class);
33967 }
33968 public AlterServiceOptArgContext alterServiceOptArg(int i) {
33969 return getRuleContext(AlterServiceOptArgContext.class,i);
33970 }
33971 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33972 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
33973 public TerminalNode COMMA_(int i) {
33974 return getToken(SQLServerStatementParser.COMMA_, i);
33975 }
33976 public AlterServiceClauseContext(ParserRuleContext parent, int invokingState) {
33977 super(parent, invokingState);
33978 }
33979 @Override public int getRuleIndex() { return RULE_alterServiceClause; }
33980 @Override
33981 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33982 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterServiceClause(this);
33983 else return visitor.visitChildren(this);
33984 }
33985 }
33986
33987 public final AlterServiceClauseContext alterServiceClause() throws RecognitionException {
33988 AlterServiceClauseContext _localctx = new AlterServiceClauseContext(_ctx, getState());
33989 enterRule(_localctx, 652, RULE_alterServiceClause);
33990 int _la;
33991 try {
33992 enterOuterAlt(_localctx, 1);
33993 {
33994 setState(4762);
33995 match(LP_);
33996 setState(4763);
33997 alterServiceOptArg();
33998 setState(4768);
33999 _errHandler.sync(this);
34000 _la = _input.LA(1);
34001 while (_la==COMMA_) {
34002 {
34003 {
34004 setState(4764);
34005 match(COMMA_);
34006 setState(4765);
34007 alterServiceOptArg();
34008 }
34009 }
34010 setState(4770);
34011 _errHandler.sync(this);
34012 _la = _input.LA(1);
34013 }
34014 setState(4771);
34015 match(RP_);
34016 }
34017 }
34018 catch (RecognitionException re) {
34019 _localctx.exception = re;
34020 _errHandler.reportError(this, re);
34021 _errHandler.recover(this, re);
34022 }
34023 finally {
34024 exitRule();
34025 }
34026 return _localctx;
34027 }
34028
34029 public static class AlterServiceOptArgContext extends ParserRuleContext {
34030 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
34031 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
34032 public ContractNameContext contractName() {
34033 return getRuleContext(ContractNameContext.class,0);
34034 }
34035 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
34036 public AlterServiceOptArgContext(ParserRuleContext parent, int invokingState) {
34037 super(parent, invokingState);
34038 }
34039 @Override public int getRuleIndex() { return RULE_alterServiceOptArg; }
34040 @Override
34041 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34042 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterServiceOptArg(this);
34043 else return visitor.visitChildren(this);
34044 }
34045 }
34046
34047 public final AlterServiceOptArgContext alterServiceOptArg() throws RecognitionException {
34048 AlterServiceOptArgContext _localctx = new AlterServiceOptArgContext(_ctx, getState());
34049 enterRule(_localctx, 654, RULE_alterServiceOptArg);
34050 try {
34051 setState(4779);
34052 _errHandler.sync(this);
34053 switch (_input.LA(1)) {
34054 case ADD:
34055 enterOuterAlt(_localctx, 1);
34056 {
34057 setState(4773);
34058 match(ADD);
34059 setState(4774);
34060 match(CONTRACT);
34061 setState(4775);
34062 contractName();
34063 }
34064 break;
34065 case DROP:
34066 enterOuterAlt(_localctx, 2);
34067 {
34068 setState(4776);
34069 match(DROP);
34070 setState(4777);
34071 match(CONTRACT);
34072 setState(4778);
34073 contractName();
34074 }
34075 break;
34076 default:
34077 throw new NoViableAltException(this);
34078 }
34079 }
34080 catch (RecognitionException re) {
34081 _localctx.exception = re;
34082 _errHandler.reportError(this, re);
34083 _errHandler.recover(this, re);
34084 }
34085 finally {
34086 exitRule();
34087 }
34088 return _localctx;
34089 }
34090
34091 public static class SchemaNameClauseContext extends ParserRuleContext {
34092 public SchemaNameContext schemaName() {
34093 return getRuleContext(SchemaNameContext.class,0);
34094 }
34095 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
34096 public IgnoredIdentifierContext ignoredIdentifier() {
34097 return getRuleContext(IgnoredIdentifierContext.class,0);
34098 }
34099 public SchemaNameClauseContext(ParserRuleContext parent, int invokingState) {
34100 super(parent, invokingState);
34101 }
34102 @Override public int getRuleIndex() { return RULE_schemaNameClause; }
34103 @Override
34104 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34105 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaNameClause(this);
34106 else return visitor.visitChildren(this);
34107 }
34108 }
34109
34110 public final SchemaNameClauseContext schemaNameClause() throws RecognitionException {
34111 SchemaNameClauseContext _localctx = new SchemaNameClauseContext(_ctx, getState());
34112 enterRule(_localctx, 656, RULE_schemaNameClause);
34113 try {
34114 setState(4788);
34115 _errHandler.sync(this);
34116 switch ( getInterpreter().adaptivePredict(_input,512,_ctx) ) {
34117 case 1:
34118 enterOuterAlt(_localctx, 1);
34119 {
34120 setState(4781);
34121 schemaName();
34122 }
34123 break;
34124 case 2:
34125 enterOuterAlt(_localctx, 2);
34126 {
34127 setState(4782);
34128 match(AUTHORIZATION);
34129 setState(4783);
34130 ignoredIdentifier();
34131 }
34132 break;
34133 case 3:
34134 enterOuterAlt(_localctx, 3);
34135 {
34136 setState(4784);
34137 schemaName();
34138 setState(4785);
34139 match(AUTHORIZATION);
34140 setState(4786);
34141 ignoredIdentifier();
34142 }
34143 break;
34144 }
34145 }
34146 catch (RecognitionException re) {
34147 _localctx.exception = re;
34148 _errHandler.reportError(this, re);
34149 _errHandler.recover(this, re);
34150 }
34151 finally {
34152 exitRule();
34153 }
34154 return _localctx;
34155 }
34156
34157 public static class SchemaElementContext extends ParserRuleContext {
34158 public CreateTableContext createTable() {
34159 return getRuleContext(CreateTableContext.class,0);
34160 }
34161 public CreateViewContext createView() {
34162 return getRuleContext(CreateViewContext.class,0);
34163 }
34164 public GrantContext grant() {
34165 return getRuleContext(GrantContext.class,0);
34166 }
34167 public RevokeContext revoke() {
34168 return getRuleContext(RevokeContext.class,0);
34169 }
34170 public DenyContext deny() {
34171 return getRuleContext(DenyContext.class,0);
34172 }
34173 public SchemaElementContext(ParserRuleContext parent, int invokingState) {
34174 super(parent, invokingState);
34175 }
34176 @Override public int getRuleIndex() { return RULE_schemaElement; }
34177 @Override
34178 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34179 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaElement(this);
34180 else return visitor.visitChildren(this);
34181 }
34182 }
34183
34184 public final SchemaElementContext schemaElement() throws RecognitionException {
34185 SchemaElementContext _localctx = new SchemaElementContext(_ctx, getState());
34186 enterRule(_localctx, 658, RULE_schemaElement);
34187 try {
34188 setState(4795);
34189 _errHandler.sync(this);
34190 switch ( getInterpreter().adaptivePredict(_input,513,_ctx) ) {
34191 case 1:
34192 enterOuterAlt(_localctx, 1);
34193 {
34194 setState(4790);
34195 createTable();
34196 }
34197 break;
34198 case 2:
34199 enterOuterAlt(_localctx, 2);
34200 {
34201 setState(4791);
34202 createView();
34203 }
34204 break;
34205 case 3:
34206 enterOuterAlt(_localctx, 3);
34207 {
34208 setState(4792);
34209 grant();
34210 }
34211 break;
34212 case 4:
34213 enterOuterAlt(_localctx, 4);
34214 {
34215 setState(4793);
34216 revoke();
34217 }
34218 break;
34219 case 5:
34220 enterOuterAlt(_localctx, 5);
34221 {
34222 setState(4794);
34223 deny();
34224 }
34225 break;
34226 }
34227 }
34228 catch (RecognitionException re) {
34229 _localctx.exception = re;
34230 _errHandler.reportError(this, re);
34231 _errHandler.recover(this, re);
34232 }
34233 finally {
34234 exitRule();
34235 }
34236 return _localctx;
34237 }
34238
34239 public static class CreateTableAsSelectClauseContext extends ParserRuleContext {
34240 public CreateTableAsSelectContext createTableAsSelect() {
34241 return getRuleContext(CreateTableAsSelectContext.class,0);
34242 }
34243 public CreateRemoteTableAsSelectContext createRemoteTableAsSelect() {
34244 return getRuleContext(CreateRemoteTableAsSelectContext.class,0);
34245 }
34246 public CreateTableAsSelectClauseContext(ParserRuleContext parent, int invokingState) {
34247 super(parent, invokingState);
34248 }
34249 @Override public int getRuleIndex() { return RULE_createTableAsSelectClause; }
34250 @Override
34251 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34252 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableAsSelectClause(this);
34253 else return visitor.visitChildren(this);
34254 }
34255 }
34256
34257 public final CreateTableAsSelectClauseContext createTableAsSelectClause() throws RecognitionException {
34258 CreateTableAsSelectClauseContext _localctx = new CreateTableAsSelectClauseContext(_ctx, getState());
34259 enterRule(_localctx, 660, RULE_createTableAsSelectClause);
34260 try {
34261 setState(4799);
34262 _errHandler.sync(this);
34263 switch ( getInterpreter().adaptivePredict(_input,514,_ctx) ) {
34264 case 1:
34265 enterOuterAlt(_localctx, 1);
34266 {
34267 setState(4797);
34268 createTableAsSelect();
34269 }
34270 break;
34271 case 2:
34272 enterOuterAlt(_localctx, 2);
34273 {
34274 setState(4798);
34275 createRemoteTableAsSelect();
34276 }
34277 break;
34278 }
34279 }
34280 catch (RecognitionException re) {
34281 _localctx.exception = re;
34282 _errHandler.reportError(this, re);
34283 _errHandler.recover(this, re);
34284 }
34285 finally {
34286 exitRule();
34287 }
34288 return _localctx;
34289 }
34290
34291 public static class CreateTableAsSelectContext extends ParserRuleContext {
34292 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
34293 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
34294 public TableNameContext tableName() {
34295 return getRuleContext(TableNameContext.class,0);
34296 }
34297 public WithDistributionOptionContext withDistributionOption() {
34298 return getRuleContext(WithDistributionOptionContext.class,0);
34299 }
34300 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
34301 public SelectContext select() {
34302 return getRuleContext(SelectContext.class,0);
34303 }
34304 public OptionQueryHintClauseContext optionQueryHintClause() {
34305 return getRuleContext(OptionQueryHintClauseContext.class,0);
34306 }
34307 public ColumnNamesContext columnNames() {
34308 return getRuleContext(ColumnNamesContext.class,0);
34309 }
34310 public CreateTableAsSelectContext(ParserRuleContext parent, int invokingState) {
34311 super(parent, invokingState);
34312 }
34313 @Override public int getRuleIndex() { return RULE_createTableAsSelect; }
34314 @Override
34315 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34316 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableAsSelect(this);
34317 else return visitor.visitChildren(this);
34318 }
34319 }
34320
34321 public final CreateTableAsSelectContext createTableAsSelect() throws RecognitionException {
34322 CreateTableAsSelectContext _localctx = new CreateTableAsSelectContext(_ctx, getState());
34323 enterRule(_localctx, 662, RULE_createTableAsSelect);
34324 int _la;
34325 try {
34326 enterOuterAlt(_localctx, 1);
34327 {
34328 setState(4801);
34329 match(CREATE);
34330 setState(4802);
34331 match(TABLE);
34332 setState(4803);
34333 tableName();
34334 setState(4805);
34335 _errHandler.sync(this);
34336 _la = _input.LA(1);
34337 if (_la==LP_) {
34338 {
34339 setState(4804);
34340 columnNames();
34341 }
34342 }
34343
34344 setState(4807);
34345 withDistributionOption();
34346 setState(4808);
34347 match(AS);
34348 setState(4809);
34349 select();
34350 setState(4810);
34351 optionQueryHintClause();
34352 }
34353 }
34354 catch (RecognitionException re) {
34355 _localctx.exception = re;
34356 _errHandler.reportError(this, re);
34357 _errHandler.recover(this, re);
34358 }
34359 finally {
34360 exitRule();
34361 }
34362 return _localctx;
34363 }
34364
34365 public static class CreateRemoteTableAsSelectContext extends ParserRuleContext {
34366 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
34367 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
34368 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
34369 public TableNameContext tableName() {
34370 return getRuleContext(TableNameContext.class,0);
34371 }
34372 public TerminalNode AT() { return getToken(SQLServerStatementParser.AT, 0); }
34373 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
34374 public TerminalNode LP_(int i) {
34375 return getToken(SQLServerStatementParser.LP_, i);
34376 }
34377 public StringLiteralsContext stringLiterals() {
34378 return getRuleContext(StringLiteralsContext.class,0);
34379 }
34380 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
34381 public TerminalNode RP_(int i) {
34382 return getToken(SQLServerStatementParser.RP_, i);
34383 }
34384 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
34385 public SelectContext select() {
34386 return getRuleContext(SelectContext.class,0);
34387 }
34388 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
34389 public TerminalNode BATCH_SIZE() { return getToken(SQLServerStatementParser.BATCH_SIZE, 0); }
34390 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34391 public TerminalNode INT_NUM_() { return getToken(SQLServerStatementParser.INT_NUM_, 0); }
34392 public CreateRemoteTableAsSelectContext(ParserRuleContext parent, int invokingState) {
34393 super(parent, invokingState);
34394 }
34395 @Override public int getRuleIndex() { return RULE_createRemoteTableAsSelect; }
34396 @Override
34397 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34398 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateRemoteTableAsSelect(this);
34399 else return visitor.visitChildren(this);
34400 }
34401 }
34402
34403 public final CreateRemoteTableAsSelectContext createRemoteTableAsSelect() throws RecognitionException {
34404 CreateRemoteTableAsSelectContext _localctx = new CreateRemoteTableAsSelectContext(_ctx, getState());
34405 enterRule(_localctx, 664, RULE_createRemoteTableAsSelect);
34406 int _la;
34407 try {
34408 enterOuterAlt(_localctx, 1);
34409 {
34410 setState(4812);
34411 match(CREATE);
34412 setState(4813);
34413 match(REMOTE);
34414 setState(4814);
34415 match(TABLE);
34416 setState(4815);
34417 tableName();
34418 setState(4816);
34419 match(AT);
34420 setState(4817);
34421 match(LP_);
34422 setState(4818);
34423 stringLiterals();
34424 setState(4819);
34425 match(RP_);
34426 setState(4826);
34427 _errHandler.sync(this);
34428 _la = _input.LA(1);
34429 if (_la==WITH) {
34430 {
34431 setState(4820);
34432 match(WITH);
34433 setState(4821);
34434 match(LP_);
34435 setState(4822);
34436 match(BATCH_SIZE);
34437 setState(4823);
34438 match(EQ_);
34439 setState(4824);
34440 match(INT_NUM_);
34441 setState(4825);
34442 match(RP_);
34443 }
34444 }
34445
34446 setState(4828);
34447 match(AS);
34448 setState(4829);
34449 select();
34450 }
34451 }
34452 catch (RecognitionException re) {
34453 _localctx.exception = re;
34454 _errHandler.reportError(this, re);
34455 _errHandler.recover(this, re);
34456 }
34457 finally {
34458 exitRule();
34459 }
34460 return _localctx;
34461 }
34462
34463 public static class WithDistributionOptionContext extends ParserRuleContext {
34464 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
34465 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
34466 public DistributionOptionContext distributionOption() {
34467 return getRuleContext(DistributionOptionContext.class,0);
34468 }
34469 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
34470 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
34471 public TerminalNode COMMA_(int i) {
34472 return getToken(SQLServerStatementParser.COMMA_, i);
34473 }
34474 public List<TableOptionContext> tableOption() {
34475 return getRuleContexts(TableOptionContext.class);
34476 }
34477 public TableOptionContext tableOption(int i) {
34478 return getRuleContext(TableOptionContext.class,i);
34479 }
34480 public WithDistributionOptionContext(ParserRuleContext parent, int invokingState) {
34481 super(parent, invokingState);
34482 }
34483 @Override public int getRuleIndex() { return RULE_withDistributionOption; }
34484 @Override
34485 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34486 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithDistributionOption(this);
34487 else return visitor.visitChildren(this);
34488 }
34489 }
34490
34491 public final WithDistributionOptionContext withDistributionOption() throws RecognitionException {
34492 WithDistributionOptionContext _localctx = new WithDistributionOptionContext(_ctx, getState());
34493 enterRule(_localctx, 666, RULE_withDistributionOption);
34494 int _la;
34495 try {
34496 enterOuterAlt(_localctx, 1);
34497 {
34498 setState(4831);
34499 match(WITH);
34500 setState(4832);
34501 match(LP_);
34502 setState(4833);
34503 distributionOption();
34504 setState(4843);
34505 _errHandler.sync(this);
34506 _la = _input.LA(1);
34507 if (_la==COMMA_) {
34508 {
34509 setState(4834);
34510 match(COMMA_);
34511 setState(4835);
34512 tableOption();
34513 setState(4840);
34514 _errHandler.sync(this);
34515 _la = _input.LA(1);
34516 while (_la==COMMA_) {
34517 {
34518 {
34519 setState(4836);
34520 match(COMMA_);
34521 setState(4837);
34522 tableOption();
34523 }
34524 }
34525 setState(4842);
34526 _errHandler.sync(this);
34527 _la = _input.LA(1);
34528 }
34529 }
34530 }
34531
34532 setState(4845);
34533 match(RP_);
34534 }
34535 }
34536 catch (RecognitionException re) {
34537 _localctx.exception = re;
34538 _errHandler.reportError(this, re);
34539 _errHandler.recover(this, re);
34540 }
34541 finally {
34542 exitRule();
34543 }
34544 return _localctx;
34545 }
34546
34547 public static class OptionQueryHintClauseContext extends ParserRuleContext {
34548 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
34549 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
34550 public List<QueryHintContext> queryHint() {
34551 return getRuleContexts(QueryHintContext.class);
34552 }
34553 public QueryHintContext queryHint(int i) {
34554 return getRuleContext(QueryHintContext.class,i);
34555 }
34556 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
34557 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
34558 public TerminalNode COMMA_(int i) {
34559 return getToken(SQLServerStatementParser.COMMA_, i);
34560 }
34561 public OptionQueryHintClauseContext(ParserRuleContext parent, int invokingState) {
34562 super(parent, invokingState);
34563 }
34564 @Override public int getRuleIndex() { return RULE_optionQueryHintClause; }
34565 @Override
34566 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34567 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionQueryHintClause(this);
34568 else return visitor.visitChildren(this);
34569 }
34570 }
34571
34572 public final OptionQueryHintClauseContext optionQueryHintClause() throws RecognitionException {
34573 OptionQueryHintClauseContext _localctx = new OptionQueryHintClauseContext(_ctx, getState());
34574 enterRule(_localctx, 668, RULE_optionQueryHintClause);
34575 int _la;
34576 try {
34577 enterOuterAlt(_localctx, 1);
34578 {
34579 setState(4859);
34580 _errHandler.sync(this);
34581 _la = _input.LA(1);
34582 if (_la==OPTION) {
34583 {
34584 setState(4847);
34585 match(OPTION);
34586 setState(4848);
34587 match(LP_);
34588 setState(4849);
34589 queryHint();
34590 setState(4854);
34591 _errHandler.sync(this);
34592 _la = _input.LA(1);
34593 while (_la==COMMA_) {
34594 {
34595 {
34596 setState(4850);
34597 match(COMMA_);
34598 setState(4851);
34599 queryHint();
34600 }
34601 }
34602 setState(4856);
34603 _errHandler.sync(this);
34604 _la = _input.LA(1);
34605 }
34606 setState(4857);
34607 match(RP_);
34608 }
34609 }
34610
34611 }
34612 }
34613 catch (RecognitionException re) {
34614 _localctx.exception = re;
34615 _errHandler.reportError(this, re);
34616 _errHandler.recover(this, re);
34617 }
34618 finally {
34619 exitRule();
34620 }
34621 return _localctx;
34622 }
34623
34624 public static class InsertContext extends ParserRuleContext {
34625 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
34626 public TableNameContext tableName() {
34627 return getRuleContext(TableNameContext.class,0);
34628 }
34629 public InsertDefaultValueContext insertDefaultValue() {
34630 return getRuleContext(InsertDefaultValueContext.class,0);
34631 }
34632 public InsertValuesClauseContext insertValuesClause() {
34633 return getRuleContext(InsertValuesClauseContext.class,0);
34634 }
34635 public InsertSelectClauseContext insertSelectClause() {
34636 return getRuleContext(InsertSelectClauseContext.class,0);
34637 }
34638 public InsertExecClauseContext insertExecClause() {
34639 return getRuleContext(InsertExecClauseContext.class,0);
34640 }
34641 public WithClauseContext withClause() {
34642 return getRuleContext(WithClauseContext.class,0);
34643 }
34644 public TopContext top() {
34645 return getRuleContext(TopContext.class,0);
34646 }
34647 public TerminalNode INTO() { return getToken(SQLServerStatementParser.INTO, 0); }
34648 public AliasContext alias() {
34649 return getRuleContext(AliasContext.class,0);
34650 }
34651 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
34652 public InsertContext(ParserRuleContext parent, int invokingState) {
34653 super(parent, invokingState);
34654 }
34655 @Override public int getRuleIndex() { return RULE_insert; }
34656 @Override
34657 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34658 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsert(this);
34659 else return visitor.visitChildren(this);
34660 }
34661 }
34662
34663 public final InsertContext insert() throws RecognitionException {
34664 InsertContext _localctx = new InsertContext(_ctx, getState());
34665 enterRule(_localctx, 670, RULE_insert);
34666 int _la;
34667 try {
34668 enterOuterAlt(_localctx, 1);
34669 {
34670 setState(4862);
34671 _errHandler.sync(this);
34672 _la = _input.LA(1);
34673 if (_la==WITH) {
34674 {
34675 setState(4861);
34676 withClause();
34677 }
34678 }
34679
34680 setState(4864);
34681 match(INSERT);
34682 setState(4866);
34683 _errHandler.sync(this);
34684 switch ( getInterpreter().adaptivePredict(_input,522,_ctx) ) {
34685 case 1:
34686 {
34687 setState(4865);
34688 top();
34689 }
34690 break;
34691 }
34692 setState(4869);
34693 _errHandler.sync(this);
34694 _la = _input.LA(1);
34695 if (_la==INTO) {
34696 {
34697 setState(4868);
34698 match(INTO);
34699 }
34700 }
34701
34702 setState(4871);
34703 tableName();
34704 setState(4876);
34705 _errHandler.sync(this);
34706 switch ( getInterpreter().adaptivePredict(_input,525,_ctx) ) {
34707 case 1:
34708 {
34709 setState(4873);
34710 _errHandler.sync(this);
34711 _la = _input.LA(1);
34712 if (_la==AS) {
34713 {
34714 setState(4872);
34715 match(AS);
34716 }
34717 }
34718
34719 setState(4875);
34720 alias();
34721 }
34722 break;
34723 }
34724 setState(4882);
34725 _errHandler.sync(this);
34726 switch ( getInterpreter().adaptivePredict(_input,526,_ctx) ) {
34727 case 1:
34728 {
34729 setState(4878);
34730 insertDefaultValue();
34731 }
34732 break;
34733 case 2:
34734 {
34735 setState(4879);
34736 insertValuesClause();
34737 }
34738 break;
34739 case 3:
34740 {
34741 setState(4880);
34742 insertSelectClause();
34743 }
34744 break;
34745 case 4:
34746 {
34747 setState(4881);
34748 insertExecClause();
34749 }
34750 break;
34751 }
34752 }
34753 }
34754 catch (RecognitionException re) {
34755 _localctx.exception = re;
34756 _errHandler.reportError(this, re);
34757 _errHandler.recover(this, re);
34758 }
34759 finally {
34760 exitRule();
34761 }
34762 return _localctx;
34763 }
34764
34765 public static class InsertDefaultValueContext extends ParserRuleContext {
34766 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
34767 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
34768 public ColumnNamesContext columnNames() {
34769 return getRuleContext(ColumnNamesContext.class,0);
34770 }
34771 public OutputClauseContext outputClause() {
34772 return getRuleContext(OutputClauseContext.class,0);
34773 }
34774 public InsertDefaultValueContext(ParserRuleContext parent, int invokingState) {
34775 super(parent, invokingState);
34776 }
34777 @Override public int getRuleIndex() { return RULE_insertDefaultValue; }
34778 @Override
34779 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34780 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertDefaultValue(this);
34781 else return visitor.visitChildren(this);
34782 }
34783 }
34784
34785 public final InsertDefaultValueContext insertDefaultValue() throws RecognitionException {
34786 InsertDefaultValueContext _localctx = new InsertDefaultValueContext(_ctx, getState());
34787 enterRule(_localctx, 672, RULE_insertDefaultValue);
34788 int _la;
34789 try {
34790 enterOuterAlt(_localctx, 1);
34791 {
34792 setState(4885);
34793 _errHandler.sync(this);
34794 _la = _input.LA(1);
34795 if (_la==LP_) {
34796 {
34797 setState(4884);
34798 columnNames();
34799 }
34800 }
34801
34802 setState(4888);
34803 _errHandler.sync(this);
34804 _la = _input.LA(1);
34805 if (_la==OUTPUT) {
34806 {
34807 setState(4887);
34808 outputClause();
34809 }
34810 }
34811
34812 setState(4890);
34813 match(DEFAULT);
34814 setState(4891);
34815 match(VALUES);
34816 }
34817 }
34818 catch (RecognitionException re) {
34819 _localctx.exception = re;
34820 _errHandler.reportError(this, re);
34821 _errHandler.recover(this, re);
34822 }
34823 finally {
34824 exitRule();
34825 }
34826 return _localctx;
34827 }
34828
34829 public static class InsertValuesClauseContext extends ParserRuleContext {
34830 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
34831 public List<AssignmentValuesContext> assignmentValues() {
34832 return getRuleContexts(AssignmentValuesContext.class);
34833 }
34834 public AssignmentValuesContext assignmentValues(int i) {
34835 return getRuleContext(AssignmentValuesContext.class,i);
34836 }
34837 public ColumnNamesContext columnNames() {
34838 return getRuleContext(ColumnNamesContext.class,0);
34839 }
34840 public OutputClauseContext outputClause() {
34841 return getRuleContext(OutputClauseContext.class,0);
34842 }
34843 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
34844 public TerminalNode COMMA_(int i) {
34845 return getToken(SQLServerStatementParser.COMMA_, i);
34846 }
34847 public InsertValuesClauseContext(ParserRuleContext parent, int invokingState) {
34848 super(parent, invokingState);
34849 }
34850 @Override public int getRuleIndex() { return RULE_insertValuesClause; }
34851 @Override
34852 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34853 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertValuesClause(this);
34854 else return visitor.visitChildren(this);
34855 }
34856 }
34857
34858 public final InsertValuesClauseContext insertValuesClause() throws RecognitionException {
34859 InsertValuesClauseContext _localctx = new InsertValuesClauseContext(_ctx, getState());
34860 enterRule(_localctx, 674, RULE_insertValuesClause);
34861 int _la;
34862 try {
34863 enterOuterAlt(_localctx, 1);
34864 {
34865 setState(4894);
34866 _errHandler.sync(this);
34867 _la = _input.LA(1);
34868 if (_la==LP_) {
34869 {
34870 setState(4893);
34871 columnNames();
34872 }
34873 }
34874
34875 setState(4897);
34876 _errHandler.sync(this);
34877 _la = _input.LA(1);
34878 if (_la==OUTPUT) {
34879 {
34880 setState(4896);
34881 outputClause();
34882 }
34883 }
34884
34885 setState(4899);
34886 match(VALUES);
34887 setState(4900);
34888 assignmentValues();
34889 setState(4905);
34890 _errHandler.sync(this);
34891 _la = _input.LA(1);
34892 while (_la==COMMA_) {
34893 {
34894 {
34895 setState(4901);
34896 match(COMMA_);
34897 setState(4902);
34898 assignmentValues();
34899 }
34900 }
34901 setState(4907);
34902 _errHandler.sync(this);
34903 _la = _input.LA(1);
34904 }
34905 }
34906 }
34907 catch (RecognitionException re) {
34908 _localctx.exception = re;
34909 _errHandler.reportError(this, re);
34910 _errHandler.recover(this, re);
34911 }
34912 finally {
34913 exitRule();
34914 }
34915 return _localctx;
34916 }
34917
34918 public static class InsertSelectClauseContext extends ParserRuleContext {
34919 public SelectContext select() {
34920 return getRuleContext(SelectContext.class,0);
34921 }
34922 public ColumnNamesContext columnNames() {
34923 return getRuleContext(ColumnNamesContext.class,0);
34924 }
34925 public OutputClauseContext outputClause() {
34926 return getRuleContext(OutputClauseContext.class,0);
34927 }
34928 public InsertSelectClauseContext(ParserRuleContext parent, int invokingState) {
34929 super(parent, invokingState);
34930 }
34931 @Override public int getRuleIndex() { return RULE_insertSelectClause; }
34932 @Override
34933 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34934 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertSelectClause(this);
34935 else return visitor.visitChildren(this);
34936 }
34937 }
34938
34939 public final InsertSelectClauseContext insertSelectClause() throws RecognitionException {
34940 InsertSelectClauseContext _localctx = new InsertSelectClauseContext(_ctx, getState());
34941 enterRule(_localctx, 676, RULE_insertSelectClause);
34942 int _la;
34943 try {
34944 enterOuterAlt(_localctx, 1);
34945 {
34946 setState(4909);
34947 _errHandler.sync(this);
34948 _la = _input.LA(1);
34949 if (_la==LP_) {
34950 {
34951 setState(4908);
34952 columnNames();
34953 }
34954 }
34955
34956 setState(4912);
34957 _errHandler.sync(this);
34958 _la = _input.LA(1);
34959 if (_la==OUTPUT) {
34960 {
34961 setState(4911);
34962 outputClause();
34963 }
34964 }
34965
34966 setState(4914);
34967 select();
34968 }
34969 }
34970 catch (RecognitionException re) {
34971 _localctx.exception = re;
34972 _errHandler.reportError(this, re);
34973 _errHandler.recover(this, re);
34974 }
34975 finally {
34976 exitRule();
34977 }
34978 return _localctx;
34979 }
34980
34981 public static class InsertExecClauseContext extends ParserRuleContext {
34982 public ExecContext exec() {
34983 return getRuleContext(ExecContext.class,0);
34984 }
34985 public ColumnNamesContext columnNames() {
34986 return getRuleContext(ColumnNamesContext.class,0);
34987 }
34988 public InsertExecClauseContext(ParserRuleContext parent, int invokingState) {
34989 super(parent, invokingState);
34990 }
34991 @Override public int getRuleIndex() { return RULE_insertExecClause; }
34992 @Override
34993 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34994 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertExecClause(this);
34995 else return visitor.visitChildren(this);
34996 }
34997 }
34998
34999 public final InsertExecClauseContext insertExecClause() throws RecognitionException {
35000 InsertExecClauseContext _localctx = new InsertExecClauseContext(_ctx, getState());
35001 enterRule(_localctx, 678, RULE_insertExecClause);
35002 int _la;
35003 try {
35004 enterOuterAlt(_localctx, 1);
35005 {
35006 setState(4917);
35007 _errHandler.sync(this);
35008 _la = _input.LA(1);
35009 if (_la==LP_) {
35010 {
35011 setState(4916);
35012 columnNames();
35013 }
35014 }
35015
35016 setState(4919);
35017 exec();
35018 }
35019 }
35020 catch (RecognitionException re) {
35021 _localctx.exception = re;
35022 _errHandler.reportError(this, re);
35023 _errHandler.recover(this, re);
35024 }
35025 finally {
35026 exitRule();
35027 }
35028 return _localctx;
35029 }
35030
35031 public static class ExecContext extends ParserRuleContext {
35032 public ProcedureNameContext procedureName() {
35033 return getRuleContext(ProcedureNameContext.class,0);
35034 }
35035 public TerminalNode EXEC() { return getToken(SQLServerStatementParser.EXEC, 0); }
35036 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
35037 public List<ExprContext> expr() {
35038 return getRuleContexts(ExprContext.class);
35039 }
35040 public ExprContext expr(int i) {
35041 return getRuleContext(ExprContext.class,i);
35042 }
35043 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35044 public TerminalNode COMMA_(int i) {
35045 return getToken(SQLServerStatementParser.COMMA_, i);
35046 }
35047 public ExecContext(ParserRuleContext parent, int invokingState) {
35048 super(parent, invokingState);
35049 }
35050 @Override public int getRuleIndex() { return RULE_exec; }
35051 @Override
35052 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35053 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExec(this);
35054 else return visitor.visitChildren(this);
35055 }
35056 }
35057
35058 public final ExecContext exec() throws RecognitionException {
35059 ExecContext _localctx = new ExecContext(_ctx, getState());
35060 enterRule(_localctx, 680, RULE_exec);
35061 int _la;
35062 try {
35063 enterOuterAlt(_localctx, 1);
35064 {
35065 setState(4921);
35066 _la = _input.LA(1);
35067 if ( !(_la==EXECUTE || _la==EXEC) ) {
35068 _errHandler.recoverInline(this);
35069 }
35070 else {
35071 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35072 _errHandler.reportMatch(this);
35073 consume();
35074 }
35075 setState(4922);
35076 procedureName();
35077 setState(4931);
35078 _errHandler.sync(this);
35079 switch ( getInterpreter().adaptivePredict(_input,536,_ctx) ) {
35080 case 1:
35081 {
35082 setState(4923);
35083 expr(0);
35084 setState(4928);
35085 _errHandler.sync(this);
35086 _la = _input.LA(1);
35087 while (_la==COMMA_) {
35088 {
35089 {
35090 setState(4924);
35091 match(COMMA_);
35092 setState(4925);
35093 expr(0);
35094 }
35095 }
35096 setState(4930);
35097 _errHandler.sync(this);
35098 _la = _input.LA(1);
35099 }
35100 }
35101 break;
35102 }
35103 }
35104 }
35105 catch (RecognitionException re) {
35106 _localctx.exception = re;
35107 _errHandler.reportError(this, re);
35108 _errHandler.recover(this, re);
35109 }
35110 finally {
35111 exitRule();
35112 }
35113 return _localctx;
35114 }
35115
35116 public static class UpdateContext extends ParserRuleContext {
35117 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
35118 public TableReferencesContext tableReferences() {
35119 return getRuleContext(TableReferencesContext.class,0);
35120 }
35121 public SetAssignmentsClauseContext setAssignmentsClause() {
35122 return getRuleContext(SetAssignmentsClauseContext.class,0);
35123 }
35124 public WithClauseContext withClause() {
35125 return getRuleContext(WithClauseContext.class,0);
35126 }
35127 public TopContext top() {
35128 return getRuleContext(TopContext.class,0);
35129 }
35130 public WhereClauseContext whereClause() {
35131 return getRuleContext(WhereClauseContext.class,0);
35132 }
35133 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
35134 public QueryHintContext queryHint() {
35135 return getRuleContext(QueryHintContext.class,0);
35136 }
35137 public UpdateContext(ParserRuleContext parent, int invokingState) {
35138 super(parent, invokingState);
35139 }
35140 @Override public int getRuleIndex() { return RULE_update; }
35141 @Override
35142 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35143 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUpdate(this);
35144 else return visitor.visitChildren(this);
35145 }
35146 }
35147
35148 public final UpdateContext update() throws RecognitionException {
35149 UpdateContext _localctx = new UpdateContext(_ctx, getState());
35150 enterRule(_localctx, 682, RULE_update);
35151 int _la;
35152 try {
35153 enterOuterAlt(_localctx, 1);
35154 {
35155 setState(4934);
35156 _errHandler.sync(this);
35157 _la = _input.LA(1);
35158 if (_la==WITH) {
35159 {
35160 setState(4933);
35161 withClause();
35162 }
35163 }
35164
35165 setState(4936);
35166 match(UPDATE);
35167 setState(4938);
35168 _errHandler.sync(this);
35169 switch ( getInterpreter().adaptivePredict(_input,538,_ctx) ) {
35170 case 1:
35171 {
35172 setState(4937);
35173 top();
35174 }
35175 break;
35176 }
35177 setState(4940);
35178 tableReferences();
35179 setState(4941);
35180 setAssignmentsClause();
35181 setState(4943);
35182 _errHandler.sync(this);
35183 _la = _input.LA(1);
35184 if (_la==WHERE) {
35185 {
35186 setState(4942);
35187 whereClause();
35188 }
35189 }
35190
35191 setState(4947);
35192 _errHandler.sync(this);
35193 _la = _input.LA(1);
35194 if (_la==OPTION) {
35195 {
35196 setState(4945);
35197 match(OPTION);
35198 setState(4946);
35199 queryHint();
35200 }
35201 }
35202
35203 }
35204 }
35205 catch (RecognitionException re) {
35206 _localctx.exception = re;
35207 _errHandler.reportError(this, re);
35208 _errHandler.recover(this, re);
35209 }
35210 finally {
35211 exitRule();
35212 }
35213 return _localctx;
35214 }
35215
35216 public static class AssignmentContext extends ParserRuleContext {
35217 public ColumnNameContext columnName() {
35218 return getRuleContext(ColumnNameContext.class,0);
35219 }
35220 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
35221 public AssignmentValueContext assignmentValue() {
35222 return getRuleContext(AssignmentValueContext.class,0);
35223 }
35224 public AssignmentContext(ParserRuleContext parent, int invokingState) {
35225 super(parent, invokingState);
35226 }
35227 @Override public int getRuleIndex() { return RULE_assignment; }
35228 @Override
35229 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35230 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignment(this);
35231 else return visitor.visitChildren(this);
35232 }
35233 }
35234
35235 public final AssignmentContext assignment() throws RecognitionException {
35236 AssignmentContext _localctx = new AssignmentContext(_ctx, getState());
35237 enterRule(_localctx, 684, RULE_assignment);
35238 try {
35239 enterOuterAlt(_localctx, 1);
35240 {
35241 setState(4949);
35242 columnName();
35243 setState(4950);
35244 match(EQ_);
35245 setState(4951);
35246 assignmentValue();
35247 }
35248 }
35249 catch (RecognitionException re) {
35250 _localctx.exception = re;
35251 _errHandler.reportError(this, re);
35252 _errHandler.recover(this, re);
35253 }
35254 finally {
35255 exitRule();
35256 }
35257 return _localctx;
35258 }
35259
35260 public static class SetAssignmentsClauseContext extends ParserRuleContext {
35261 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
35262 public List<AssignmentContext> assignment() {
35263 return getRuleContexts(AssignmentContext.class);
35264 }
35265 public AssignmentContext assignment(int i) {
35266 return getRuleContext(AssignmentContext.class,i);
35267 }
35268 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35269 public TerminalNode COMMA_(int i) {
35270 return getToken(SQLServerStatementParser.COMMA_, i);
35271 }
35272 public FromClauseContext fromClause() {
35273 return getRuleContext(FromClauseContext.class,0);
35274 }
35275 public SetAssignmentsClauseContext(ParserRuleContext parent, int invokingState) {
35276 super(parent, invokingState);
35277 }
35278 @Override public int getRuleIndex() { return RULE_setAssignmentsClause; }
35279 @Override
35280 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35281 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetAssignmentsClause(this);
35282 else return visitor.visitChildren(this);
35283 }
35284 }
35285
35286 public final SetAssignmentsClauseContext setAssignmentsClause() throws RecognitionException {
35287 SetAssignmentsClauseContext _localctx = new SetAssignmentsClauseContext(_ctx, getState());
35288 enterRule(_localctx, 686, RULE_setAssignmentsClause);
35289 int _la;
35290 try {
35291 enterOuterAlt(_localctx, 1);
35292 {
35293 setState(4953);
35294 match(SET);
35295 setState(4954);
35296 assignment();
35297 setState(4959);
35298 _errHandler.sync(this);
35299 _la = _input.LA(1);
35300 while (_la==COMMA_) {
35301 {
35302 {
35303 setState(4955);
35304 match(COMMA_);
35305 setState(4956);
35306 assignment();
35307 }
35308 }
35309 setState(4961);
35310 _errHandler.sync(this);
35311 _la = _input.LA(1);
35312 }
35313 setState(4963);
35314 _errHandler.sync(this);
35315 _la = _input.LA(1);
35316 if (_la==FROM) {
35317 {
35318 setState(4962);
35319 fromClause();
35320 }
35321 }
35322
35323 }
35324 }
35325 catch (RecognitionException re) {
35326 _localctx.exception = re;
35327 _errHandler.reportError(this, re);
35328 _errHandler.recover(this, re);
35329 }
35330 finally {
35331 exitRule();
35332 }
35333 return _localctx;
35334 }
35335
35336 public static class AssignmentValuesContext extends ParserRuleContext {
35337 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
35338 public List<AssignmentValueContext> assignmentValue() {
35339 return getRuleContexts(AssignmentValueContext.class);
35340 }
35341 public AssignmentValueContext assignmentValue(int i) {
35342 return getRuleContext(AssignmentValueContext.class,i);
35343 }
35344 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
35345 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35346 public TerminalNode COMMA_(int i) {
35347 return getToken(SQLServerStatementParser.COMMA_, i);
35348 }
35349 public AssignmentValuesContext(ParserRuleContext parent, int invokingState) {
35350 super(parent, invokingState);
35351 }
35352 @Override public int getRuleIndex() { return RULE_assignmentValues; }
35353 @Override
35354 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35355 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignmentValues(this);
35356 else return visitor.visitChildren(this);
35357 }
35358 }
35359
35360 public final AssignmentValuesContext assignmentValues() throws RecognitionException {
35361 AssignmentValuesContext _localctx = new AssignmentValuesContext(_ctx, getState());
35362 enterRule(_localctx, 688, RULE_assignmentValues);
35363 int _la;
35364 try {
35365 setState(4978);
35366 _errHandler.sync(this);
35367 switch ( getInterpreter().adaptivePredict(_input,544,_ctx) ) {
35368 case 1:
35369 enterOuterAlt(_localctx, 1);
35370 {
35371 setState(4965);
35372 match(LP_);
35373 setState(4966);
35374 assignmentValue();
35375 setState(4971);
35376 _errHandler.sync(this);
35377 _la = _input.LA(1);
35378 while (_la==COMMA_) {
35379 {
35380 {
35381 setState(4967);
35382 match(COMMA_);
35383 setState(4968);
35384 assignmentValue();
35385 }
35386 }
35387 setState(4973);
35388 _errHandler.sync(this);
35389 _la = _input.LA(1);
35390 }
35391 setState(4974);
35392 match(RP_);
35393 }
35394 break;
35395 case 2:
35396 enterOuterAlt(_localctx, 2);
35397 {
35398 setState(4976);
35399 match(LP_);
35400 setState(4977);
35401 match(RP_);
35402 }
35403 break;
35404 }
35405 }
35406 catch (RecognitionException re) {
35407 _localctx.exception = re;
35408 _errHandler.reportError(this, re);
35409 _errHandler.recover(this, re);
35410 }
35411 finally {
35412 exitRule();
35413 }
35414 return _localctx;
35415 }
35416
35417 public static class AssignmentValueContext extends ParserRuleContext {
35418 public ExprContext expr() {
35419 return getRuleContext(ExprContext.class,0);
35420 }
35421 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
35422 public AssignmentValueContext(ParserRuleContext parent, int invokingState) {
35423 super(parent, invokingState);
35424 }
35425 @Override public int getRuleIndex() { return RULE_assignmentValue; }
35426 @Override
35427 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35428 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignmentValue(this);
35429 else return visitor.visitChildren(this);
35430 }
35431 }
35432
35433 public final AssignmentValueContext assignmentValue() throws RecognitionException {
35434 AssignmentValueContext _localctx = new AssignmentValueContext(_ctx, getState());
35435 enterRule(_localctx, 690, RULE_assignmentValue);
35436 try {
35437 setState(4982);
35438 _errHandler.sync(this);
35439 switch (_input.LA(1)) {
35440 case NOT_:
35441 case TILDE_:
35442 case PLUS_:
35443 case MINUS_:
35444 case LP_:
35445 case LBE_:
35446 case QUESTION_:
35447 case DOLLAR_:
35448 case TRUNCATE:
35449 case SCHEMA:
35450 case COLUMNS:
35451 case PRECISION:
35452 case FUNCTION:
35453 case TRIGGER:
35454 case CASE:
35455 case CAST:
35456 case SUBSTRING:
35457 case OFF:
35458 case IF:
35459 case NOT:
35460 case NULL:
35461 case TRUE:
35462 case FALSE:
35463 case EXISTS:
35464 case GROUP:
35465 case LIMIT:
35466 case OFFSET:
35467 case SAVEPOINT:
35468 case BOOLEAN:
35469 case CHAR:
35470 case ARRAY:
35471 case INTERVAL:
35472 case DATE:
35473 case TIME:
35474 case TIMESTAMP:
35475 case LOCALTIME:
35476 case LOCALTIMESTAMP:
35477 case QUARTER:
35478 case WEEK:
35479 case DAY:
35480 case SECOND:
35481 case MICROSECOND:
35482 case MAX:
35483 case MIN:
35484 case SUM:
35485 case COUNT:
35486 case AVG:
35487 case ENABLE:
35488 case DISABLE:
35489 case INSTANCE:
35490 case DO:
35491 case DEFINER:
35492 case SQL:
35493 case CASCADED:
35494 case LOCAL:
35495 case NEXT:
35496 case NAME:
35497 case INTEGER:
35498 case TYPE:
35499 case TEXT:
35500 case VIEWS:
35501 case READ_ONLY:
35502 case DATABASE:
35503 case RETURNS:
35504 case DATEPART:
35505 case PASSWORD:
35506 case BINARY:
35507 case HIDDEN_:
35508 case MOD:
35509 case PARTITION:
35510 case PARTITIONS:
35511 case TOP:
35512 case ROW:
35513 case ROWS:
35514 case XOR:
35515 case ALWAYS:
35516 case ROLE:
35517 case START:
35518 case ALGORITHM:
35519 case AUTO:
35520 case BLOCKERS:
35521 case CLUSTERED:
35522 case NONCLUSTERED:
35523 case COLUMNSTORE:
35524 case CONTENT:
35525 case CONVERT:
35526 case YEARS:
35527 case MONTHS:
35528 case WEEKS:
35529 case DAYS:
35530 case MINUTES:
35531 case DENY:
35532 case DETERMINISTIC:
35533 case DISTRIBUTION:
35534 case DOCUMENT:
35535 case DURABILITY:
35536 case ENCRYPTED:
35537 case FILESTREAM:
35538 case FILETABLE:
35539 case FILLFACTOR:
35540 case FOLLOWING:
35541 case HASH:
35542 case HEAP:
35543 case INBOUND:
35544 case OUTBOUND:
35545 case UNBOUNDED:
35546 case INFINITE:
35547 case LOGIN:
35548 case MASKED:
35549 case MAXDOP:
35550 case MOVE:
35551 case NOCHECK:
35552 case OBJECT:
35553 case ONLINE:
35554 case OVER:
35555 case PAGE:
35556 case PAUSED:
35557 case PERIOD:
35558 case PERSISTED:
35559 case PRECEDING:
35560 case RANDOMIZED:
35561 case RANGE:
35562 case REBUILD:
35563 case REPLICATE:
35564 case REPLICATION:
35565 case RESUMABLE:
35566 case ROWGUIDCOL:
35567 case SAVE:
35568 case SELF:
35569 case SPARSE:
35570 case SWITCH:
35571 case TRAN:
35572 case TRANCOUNT:
35573 case CONTROL:
35574 case CONCAT:
35575 case TAKE:
35576 case OWNERSHIP:
35577 case DEFINITION:
35578 case APPLICATION:
35579 case ASSEMBLY:
35580 case SYMMETRIC:
35581 case ASYMMETRIC:
35582 case SERVER:
35583 case RECEIVE:
35584 case CHANGE:
35585 case TRACE:
35586 case TRACKING:
35587 case RESOURCES:
35588 case SETTINGS:
35589 case STATE:
35590 case AVAILABILITY:
35591 case CREDENTIAL:
35592 case ENDPOINT:
35593 case EVENT:
35594 case NOTIFICATION:
35595 case LINKED:
35596 case AUDIT:
35597 case DDL:
35598 case XML:
35599 case IMPERSONATE:
35600 case SECURABLES:
35601 case AUTHENTICATE:
35602 case EXTERNAL:
35603 case ACCESS:
35604 case ADMINISTER:
35605 case BULK:
35606 case OPERATIONS:
35607 case UNSAFE:
35608 case SHUTDOWN:
35609 case SCOPED:
35610 case CONFIGURATION:
35611 case DATASPACE:
35612 case SERVICE:
35613 case CERTIFICATE:
35614 case CONTRACT:
35615 case ENCRYPTION:
35616 case MASTER:
35617 case DATA:
35618 case SOURCE:
35619 case FILE:
35620 case FORMAT:
35621 case LIBRARY:
35622 case FULLTEXT:
35623 case MASK:
35624 case UNMASK:
35625 case MESSAGE:
35626 case REMOTE:
35627 case BINDING:
35628 case ROUTE:
35629 case SECURITY:
35630 case POLICY:
35631 case AGGREGATE:
35632 case QUEUE:
35633 case RULE:
35634 case SYNONYM:
35635 case COLLECTION:
35636 case SCRIPT:
35637 case KILL:
35638 case BACKUP:
35639 case LOG:
35640 case SHOWPLAN:
35641 case SUBSCRIBE:
35642 case QUERY:
35643 case NOTIFICATIONS:
35644 case CHECKPOINT:
35645 case SEQUENCE:
35646 case ABORT_AFTER_WAIT:
35647 case ALLOW_PAGE_LOCKS:
35648 case ALLOW_ROW_LOCKS:
35649 case ALL_SPARSE_COLUMNS:
35650 case BUCKET_COUNT:
35651 case COLUMNSTORE_ARCHIVE:
35652 case COLUMN_ENCRYPTION_KEY:
35653 case COLUMN_SET:
35654 case COMPRESSION_DELAY:
35655 case DATABASE_DEAULT:
35656 case DATA_COMPRESSION:
35657 case DATA_CONSISTENCY_CHECK:
35658 case ENCRYPTION_TYPE:
35659 case SYSTEM_TIME:
35660 case SYSTEM_VERSIONING:
35661 case TEXTIMAGE_ON:
35662 case WAIT_AT_LOW_PRIORITY:
35663 case STATISTICS_INCREMENTAL:
35664 case STATISTICS_NORECOMPUTE:
35665 case ROUND_ROBIN:
35666 case SCHEMA_AND_DATA:
35667 case SCHEMA_ONLY:
35668 case SORT_IN_TEMPDB:
35669 case IGNORE_DUP_KEY:
35670 case IMPLICIT_TRANSACTIONS:
35671 case MAX_DURATION:
35672 case MEMORY_OPTIMIZED:
35673 case MIGRATION_STATE:
35674 case PAD_INDEX:
35675 case REMOTE_DATA_ARCHIVE:
35676 case FILESTREAM_ON:
35677 case FILETABLE_COLLATE_FILENAME:
35678 case FILETABLE_DIRECTORY:
35679 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
35680 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
35681 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
35682 case FILTER_PREDICATE:
35683 case HISTORY_RETENTION_PERIOD:
35684 case HISTORY_TABLE:
35685 case LOCK_ESCALATION:
35686 case DROP_EXISTING:
35687 case ROW_NUMBER:
35688 case FIRST:
35689 case DATETIME2:
35690 case OUTPUT:
35691 case INSERTED:
35692 case DELETED:
35693 case FILENAME:
35694 case MAXSIZE:
35695 case FILEGROWTH:
35696 case UNLIMITED:
35697 case KB:
35698 case MB:
35699 case GB:
35700 case TB:
35701 case MEMORY_OPTIMIZED_DATA:
35702 case FILEGROUP:
35703 case NON_TRANSACTED_ACCESS:
35704 case DB_CHAINING:
35705 case TRUSTWORTHY:
35706 case FORWARD_ONLY:
35707 case KEYSET:
35708 case FAST_FORWARD:
35709 case SCROLL_LOCKS:
35710 case OPTIMISTIC:
35711 case TYPE_WARNING:
35712 case SCHEMABINDING:
35713 case CALLER:
35714 case OWNER:
35715 case SNAPSHOT:
35716 case REPEATABLE:
35717 case SERIALIZABLE:
35718 case NATIVE_COMPILATION:
35719 case VIEW_METADATA:
35720 case INSTEAD:
35721 case APPEND:
35722 case INCREMENT:
35723 case CACHE:
35724 case MINVALUE:
35725 case MAXVALUE:
35726 case RESTART:
35727 case LOB_COMPACTION:
35728 case COMPRESS_ALL_ROW_GROUPS:
35729 case REORGANIZE:
35730 case RESUME:
35731 case PAUSE:
35732 case ABORT:
35733 case ACCELERATED_DATABASE_RECOVERY:
35734 case PERSISTENT_VERSION_STORE_FILEGROUP:
35735 case IMMEDIATE:
35736 case NO_WAIT:
35737 case TARGET_RECOVERY_TIME:
35738 case SECONDS:
35739 case HONOR_BROKER_PRIORITY:
35740 case ERROR_BROKER_CONVERSATIONS:
35741 case NEW_BROKER:
35742 case DISABLE_BROKER:
35743 case ENABLE_BROKER:
35744 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
35745 case READ_COMMITTED_SNAPSHOT:
35746 case ALLOW_SNAPSHOT_ISOLATION:
35747 case RECURSIVE_TRIGGERS:
35748 case QUOTED_IDENTIFIER:
35749 case NUMERIC_ROUNDABORT:
35750 case CONCAT_NULL_YIELDS_NULL:
35751 case COMPATIBILITY_LEVEL:
35752 case ARITHABORT:
35753 case ANSI_WARNINGS:
35754 case ANSI_PADDING:
35755 case ANSI_NULLS:
35756 case ANSI_NULL_DEFAULT:
35757 case PAGE_VERIFY:
35758 case CHECKSUM:
35759 case TORN_PAGE_DETECTION:
35760 case BULK_LOGGED:
35761 case RECOVERY:
35762 case TOTAL_EXECUTION_CPU_TIME_MS:
35763 case TOTAL_COMPILE_CPU_TIME_MS:
35764 case STALE_CAPTURE_POLICY_THRESHOLD:
35765 case EXECUTION_COUNT:
35766 case QUERY_CAPTURE_POLICY:
35767 case WAIT_STATS_CAPTURE_MODE:
35768 case MAX_PLANS_PER_QUERY:
35769 case QUERY_CAPTURE_MODE:
35770 case SIZE_BASED_CLEANUP_MODE:
35771 case INTERVAL_LENGTH_MINUTES:
35772 case MAX_STORAGE_SIZE_MB:
35773 case DATA_FLUSH_INTERVAL_SECONDS:
35774 case CLEANUP_POLICY:
35775 case CUSTOM:
35776 case STALE_QUERY_THRESHOLD_DAYS:
35777 case OPERATION_MODE:
35778 case QUERY_STORE:
35779 case CURSOR_DEFAULT:
35780 case GLOBAL:
35781 case CURSOR_CLOSE_ON_COMMIT:
35782 case HOURS:
35783 case CHANGE_RETENTION:
35784 case AUTO_CLEANUP:
35785 case CHANGE_TRACKING:
35786 case AUTOMATIC_TUNING:
35787 case FORCE_LAST_GOOD_PLAN:
35788 case AUTO_UPDATE_STATISTICS_ASYNC:
35789 case AUTO_UPDATE_STATISTICS:
35790 case AUTO_SHRINK:
35791 case AUTO_CREATE_STATISTICS:
35792 case INCREMENTAL:
35793 case AUTO_CLOSE:
35794 case DATA_RETENTION:
35795 case TEMPORAL_HISTORY_RETENTION:
35796 case EDITION:
35797 case MIXED_PAGE_ALLOCATION:
35798 case DISABLED:
35799 case ALLOWED:
35800 case HADR:
35801 case MULTI_USER:
35802 case RESTRICTED_USER:
35803 case SINGLE_USER:
35804 case OFFLINE:
35805 case EMERGENCY:
35806 case SUSPEND:
35807 case DATE_CORRELATION_OPTIMIZATION:
35808 case ELASTIC_POOL:
35809 case SERVICE_OBJECTIVE:
35810 case DATABASE_NAME:
35811 case ALLOW_CONNECTIONS:
35812 case GEO:
35813 case NAMED:
35814 case DATEFIRST:
35815 case BACKUP_STORAGE_REDUNDANCY:
35816 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
35817 case SECONDARY:
35818 case FAILOVER:
35819 case DEFAULT_FULLTEXT_LANGUAGE:
35820 case DEFAULT_LANGUAGE:
35821 case INLINE:
35822 case NESTED_TRIGGERS:
35823 case TRANSFORM_NOISE_WORDS:
35824 case TWO_DIGIT_YEAR_CUTOFF:
35825 case PERSISTENT_LOG_BUFFER:
35826 case DIRECTORY_NAME:
35827 case DATEFORMAT:
35828 case DELAYED_DURABILITY:
35829 case AUTHORIZATION:
35830 case TRANSFER:
35831 case PROVIDER:
35832 case SEARCH:
35833 case MEMBER:
35834 case IDENTIFIER_:
35835 case DELIMITED_IDENTIFIER_:
35836 case STRING_:
35837 case NUMBER_:
35838 case HEX_DIGIT_:
35839 case BIT_NUM_:
35840 case NCHAR_TEXT:
35841 enterOuterAlt(_localctx, 1);
35842 {
35843 setState(4980);
35844 expr(0);
35845 }
35846 break;
35847 case DEFAULT:
35848 enterOuterAlt(_localctx, 2);
35849 {
35850 setState(4981);
35851 match(DEFAULT);
35852 }
35853 break;
35854 default:
35855 throw new NoViableAltException(this);
35856 }
35857 }
35858 catch (RecognitionException re) {
35859 _localctx.exception = re;
35860 _errHandler.reportError(this, re);
35861 _errHandler.recover(this, re);
35862 }
35863 finally {
35864 exitRule();
35865 }
35866 return _localctx;
35867 }
35868
35869 public static class DeleteContext extends ParserRuleContext {
35870 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
35871 public SingleTableClauseContext singleTableClause() {
35872 return getRuleContext(SingleTableClauseContext.class,0);
35873 }
35874 public MultipleTablesClauseContext multipleTablesClause() {
35875 return getRuleContext(MultipleTablesClauseContext.class,0);
35876 }
35877 public WithClauseContext withClause() {
35878 return getRuleContext(WithClauseContext.class,0);
35879 }
35880 public TopContext top() {
35881 return getRuleContext(TopContext.class,0);
35882 }
35883 public OutputClauseContext outputClause() {
35884 return getRuleContext(OutputClauseContext.class,0);
35885 }
35886 public WhereClauseContext whereClause() {
35887 return getRuleContext(WhereClauseContext.class,0);
35888 }
35889 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
35890 public QueryHintContext queryHint() {
35891 return getRuleContext(QueryHintContext.class,0);
35892 }
35893 public DeleteContext(ParserRuleContext parent, int invokingState) {
35894 super(parent, invokingState);
35895 }
35896 @Override public int getRuleIndex() { return RULE_delete; }
35897 @Override
35898 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35899 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDelete(this);
35900 else return visitor.visitChildren(this);
35901 }
35902 }
35903
35904 public final DeleteContext delete() throws RecognitionException {
35905 DeleteContext _localctx = new DeleteContext(_ctx, getState());
35906 enterRule(_localctx, 692, RULE_delete);
35907 int _la;
35908 try {
35909 enterOuterAlt(_localctx, 1);
35910 {
35911 setState(4985);
35912 _errHandler.sync(this);
35913 _la = _input.LA(1);
35914 if (_la==WITH) {
35915 {
35916 setState(4984);
35917 withClause();
35918 }
35919 }
35920
35921 setState(4987);
35922 match(DELETE);
35923 setState(4989);
35924 _errHandler.sync(this);
35925 switch ( getInterpreter().adaptivePredict(_input,547,_ctx) ) {
35926 case 1:
35927 {
35928 setState(4988);
35929 top();
35930 }
35931 break;
35932 }
35933 setState(4993);
35934 _errHandler.sync(this);
35935 switch ( getInterpreter().adaptivePredict(_input,548,_ctx) ) {
35936 case 1:
35937 {
35938 setState(4991);
35939 singleTableClause();
35940 }
35941 break;
35942 case 2:
35943 {
35944 setState(4992);
35945 multipleTablesClause();
35946 }
35947 break;
35948 }
35949 setState(4996);
35950 _errHandler.sync(this);
35951 _la = _input.LA(1);
35952 if (_la==OUTPUT) {
35953 {
35954 setState(4995);
35955 outputClause();
35956 }
35957 }
35958
35959 setState(4999);
35960 _errHandler.sync(this);
35961 _la = _input.LA(1);
35962 if (_la==WHERE) {
35963 {
35964 setState(4998);
35965 whereClause();
35966 }
35967 }
35968
35969 setState(5003);
35970 _errHandler.sync(this);
35971 _la = _input.LA(1);
35972 if (_la==OPTION) {
35973 {
35974 setState(5001);
35975 match(OPTION);
35976 setState(5002);
35977 queryHint();
35978 }
35979 }
35980
35981 }
35982 }
35983 catch (RecognitionException re) {
35984 _localctx.exception = re;
35985 _errHandler.reportError(this, re);
35986 _errHandler.recover(this, re);
35987 }
35988 finally {
35989 exitRule();
35990 }
35991 return _localctx;
35992 }
35993
35994 public static class SingleTableClauseContext extends ParserRuleContext {
35995 public TableNameContext tableName() {
35996 return getRuleContext(TableNameContext.class,0);
35997 }
35998 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
35999 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
36000 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
36001 public AliasContext alias() {
36002 return getRuleContext(AliasContext.class,0);
36003 }
36004 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
36005 public SingleTableClauseContext(ParserRuleContext parent, int invokingState) {
36006 super(parent, invokingState);
36007 }
36008 @Override public int getRuleIndex() { return RULE_singleTableClause; }
36009 @Override
36010 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36011 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSingleTableClause(this);
36012 else return visitor.visitChildren(this);
36013 }
36014 }
36015
36016 public final SingleTableClauseContext singleTableClause() throws RecognitionException {
36017 SingleTableClauseContext _localctx = new SingleTableClauseContext(_ctx, getState());
36018 enterRule(_localctx, 694, RULE_singleTableClause);
36019 int _la;
36020 try {
36021 enterOuterAlt(_localctx, 1);
36022 {
36023 setState(5006);
36024 _errHandler.sync(this);
36025 _la = _input.LA(1);
36026 if (_la==FROM) {
36027 {
36028 setState(5005);
36029 match(FROM);
36030 }
36031 }
36032
36033 setState(5009);
36034 _errHandler.sync(this);
36035 _la = _input.LA(1);
36036 if (_la==LP_) {
36037 {
36038 setState(5008);
36039 match(LP_);
36040 }
36041 }
36042
36043 setState(5011);
36044 tableName();
36045 setState(5013);
36046 _errHandler.sync(this);
36047 _la = _input.LA(1);
36048 if (_la==RP_) {
36049 {
36050 setState(5012);
36051 match(RP_);
36052 }
36053 }
36054
36055 setState(5019);
36056 _errHandler.sync(this);
36057 switch ( getInterpreter().adaptivePredict(_input,556,_ctx) ) {
36058 case 1:
36059 {
36060 setState(5016);
36061 _errHandler.sync(this);
36062 _la = _input.LA(1);
36063 if (_la==AS) {
36064 {
36065 setState(5015);
36066 match(AS);
36067 }
36068 }
36069
36070 setState(5018);
36071 alias();
36072 }
36073 break;
36074 }
36075 }
36076 }
36077 catch (RecognitionException re) {
36078 _localctx.exception = re;
36079 _errHandler.reportError(this, re);
36080 _errHandler.recover(this, re);
36081 }
36082 finally {
36083 exitRule();
36084 }
36085 return _localctx;
36086 }
36087
36088 public static class MultipleTablesClauseContext extends ParserRuleContext {
36089 public MultipleTableNamesContext multipleTableNames() {
36090 return getRuleContext(MultipleTableNamesContext.class,0);
36091 }
36092 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
36093 public TableReferencesContext tableReferences() {
36094 return getRuleContext(TableReferencesContext.class,0);
36095 }
36096 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
36097 public MultipleTablesClauseContext(ParserRuleContext parent, int invokingState) {
36098 super(parent, invokingState);
36099 }
36100 @Override public int getRuleIndex() { return RULE_multipleTablesClause; }
36101 @Override
36102 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36103 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMultipleTablesClause(this);
36104 else return visitor.visitChildren(this);
36105 }
36106 }
36107
36108 public final MultipleTablesClauseContext multipleTablesClause() throws RecognitionException {
36109 MultipleTablesClauseContext _localctx = new MultipleTablesClauseContext(_ctx, getState());
36110 enterRule(_localctx, 696, RULE_multipleTablesClause);
36111 try {
36112 setState(5030);
36113 _errHandler.sync(this);
36114 switch (_input.LA(1)) {
36115 case TRUNCATE:
36116 case SCHEMA:
36117 case COLUMNS:
36118 case PRECISION:
36119 case FUNCTION:
36120 case TRIGGER:
36121 case CAST:
36122 case SUBSTRING:
36123 case OFF:
36124 case GROUP:
36125 case LIMIT:
36126 case OFFSET:
36127 case SAVEPOINT:
36128 case BOOLEAN:
36129 case ARRAY:
36130 case DATE:
36131 case LOCALTIME:
36132 case LOCALTIMESTAMP:
36133 case QUARTER:
36134 case WEEK:
36135 case DAY:
36136 case SECOND:
36137 case MICROSECOND:
36138 case MAX:
36139 case MIN:
36140 case SUM:
36141 case COUNT:
36142 case AVG:
36143 case ENABLE:
36144 case DISABLE:
36145 case INSTANCE:
36146 case DO:
36147 case DEFINER:
36148 case SQL:
36149 case CASCADED:
36150 case LOCAL:
36151 case NEXT:
36152 case NAME:
36153 case INTEGER:
36154 case TYPE:
36155 case TEXT:
36156 case VIEWS:
36157 case READ_ONLY:
36158 case DATABASE:
36159 case RETURNS:
36160 case DATEPART:
36161 case PASSWORD:
36162 case BINARY:
36163 case HIDDEN_:
36164 case MOD:
36165 case PARTITION:
36166 case PARTITIONS:
36167 case TOP:
36168 case ROW:
36169 case ROWS:
36170 case XOR:
36171 case ALWAYS:
36172 case ROLE:
36173 case START:
36174 case ALGORITHM:
36175 case AUTO:
36176 case BLOCKERS:
36177 case CLUSTERED:
36178 case NONCLUSTERED:
36179 case COLUMNSTORE:
36180 case CONTENT:
36181 case YEARS:
36182 case MONTHS:
36183 case WEEKS:
36184 case DAYS:
36185 case MINUTES:
36186 case DENY:
36187 case DETERMINISTIC:
36188 case DISTRIBUTION:
36189 case DOCUMENT:
36190 case DURABILITY:
36191 case ENCRYPTED:
36192 case FILESTREAM:
36193 case FILETABLE:
36194 case FILLFACTOR:
36195 case FOLLOWING:
36196 case HASH:
36197 case HEAP:
36198 case INBOUND:
36199 case OUTBOUND:
36200 case UNBOUNDED:
36201 case INFINITE:
36202 case LOGIN:
36203 case MASKED:
36204 case MAXDOP:
36205 case MOVE:
36206 case NOCHECK:
36207 case OBJECT:
36208 case ONLINE:
36209 case OVER:
36210 case PAGE:
36211 case PAUSED:
36212 case PERIOD:
36213 case PERSISTED:
36214 case PRECEDING:
36215 case RANDOMIZED:
36216 case RANGE:
36217 case REBUILD:
36218 case REPLICATE:
36219 case REPLICATION:
36220 case RESUMABLE:
36221 case ROWGUIDCOL:
36222 case SAVE:
36223 case SELF:
36224 case SPARSE:
36225 case SWITCH:
36226 case TRAN:
36227 case TRANCOUNT:
36228 case CONTROL:
36229 case CONCAT:
36230 case TAKE:
36231 case OWNERSHIP:
36232 case DEFINITION:
36233 case APPLICATION:
36234 case ASSEMBLY:
36235 case SYMMETRIC:
36236 case ASYMMETRIC:
36237 case SERVER:
36238 case RECEIVE:
36239 case CHANGE:
36240 case TRACE:
36241 case TRACKING:
36242 case RESOURCES:
36243 case SETTINGS:
36244 case STATE:
36245 case AVAILABILITY:
36246 case CREDENTIAL:
36247 case ENDPOINT:
36248 case EVENT:
36249 case NOTIFICATION:
36250 case LINKED:
36251 case AUDIT:
36252 case DDL:
36253 case XML:
36254 case IMPERSONATE:
36255 case SECURABLES:
36256 case AUTHENTICATE:
36257 case EXTERNAL:
36258 case ACCESS:
36259 case ADMINISTER:
36260 case BULK:
36261 case OPERATIONS:
36262 case UNSAFE:
36263 case SHUTDOWN:
36264 case SCOPED:
36265 case CONFIGURATION:
36266 case DATASPACE:
36267 case SERVICE:
36268 case CERTIFICATE:
36269 case CONTRACT:
36270 case ENCRYPTION:
36271 case MASTER:
36272 case DATA:
36273 case SOURCE:
36274 case FILE:
36275 case FORMAT:
36276 case LIBRARY:
36277 case FULLTEXT:
36278 case MASK:
36279 case UNMASK:
36280 case MESSAGE:
36281 case REMOTE:
36282 case BINDING:
36283 case ROUTE:
36284 case SECURITY:
36285 case POLICY:
36286 case AGGREGATE:
36287 case QUEUE:
36288 case RULE:
36289 case SYNONYM:
36290 case COLLECTION:
36291 case SCRIPT:
36292 case KILL:
36293 case BACKUP:
36294 case LOG:
36295 case SHOWPLAN:
36296 case SUBSCRIBE:
36297 case QUERY:
36298 case NOTIFICATIONS:
36299 case CHECKPOINT:
36300 case SEQUENCE:
36301 case ABORT_AFTER_WAIT:
36302 case ALLOW_PAGE_LOCKS:
36303 case ALLOW_ROW_LOCKS:
36304 case ALL_SPARSE_COLUMNS:
36305 case BUCKET_COUNT:
36306 case COLUMNSTORE_ARCHIVE:
36307 case COLUMN_ENCRYPTION_KEY:
36308 case COLUMN_SET:
36309 case COMPRESSION_DELAY:
36310 case DATABASE_DEAULT:
36311 case DATA_COMPRESSION:
36312 case DATA_CONSISTENCY_CHECK:
36313 case ENCRYPTION_TYPE:
36314 case SYSTEM_TIME:
36315 case SYSTEM_VERSIONING:
36316 case TEXTIMAGE_ON:
36317 case WAIT_AT_LOW_PRIORITY:
36318 case STATISTICS_INCREMENTAL:
36319 case STATISTICS_NORECOMPUTE:
36320 case ROUND_ROBIN:
36321 case SCHEMA_AND_DATA:
36322 case SCHEMA_ONLY:
36323 case SORT_IN_TEMPDB:
36324 case IGNORE_DUP_KEY:
36325 case IMPLICIT_TRANSACTIONS:
36326 case MAX_DURATION:
36327 case MEMORY_OPTIMIZED:
36328 case MIGRATION_STATE:
36329 case PAD_INDEX:
36330 case REMOTE_DATA_ARCHIVE:
36331 case FILESTREAM_ON:
36332 case FILETABLE_COLLATE_FILENAME:
36333 case FILETABLE_DIRECTORY:
36334 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
36335 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
36336 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
36337 case FILTER_PREDICATE:
36338 case HISTORY_RETENTION_PERIOD:
36339 case HISTORY_TABLE:
36340 case LOCK_ESCALATION:
36341 case DROP_EXISTING:
36342 case ROW_NUMBER:
36343 case FIRST:
36344 case DATETIME2:
36345 case OUTPUT:
36346 case INSERTED:
36347 case DELETED:
36348 case FILENAME:
36349 case MAXSIZE:
36350 case FILEGROWTH:
36351 case UNLIMITED:
36352 case KB:
36353 case MB:
36354 case GB:
36355 case TB:
36356 case MEMORY_OPTIMIZED_DATA:
36357 case FILEGROUP:
36358 case NON_TRANSACTED_ACCESS:
36359 case DB_CHAINING:
36360 case TRUSTWORTHY:
36361 case FORWARD_ONLY:
36362 case KEYSET:
36363 case FAST_FORWARD:
36364 case SCROLL_LOCKS:
36365 case OPTIMISTIC:
36366 case TYPE_WARNING:
36367 case SCHEMABINDING:
36368 case CALLER:
36369 case OWNER:
36370 case SNAPSHOT:
36371 case REPEATABLE:
36372 case SERIALIZABLE:
36373 case NATIVE_COMPILATION:
36374 case VIEW_METADATA:
36375 case INSTEAD:
36376 case APPEND:
36377 case INCREMENT:
36378 case CACHE:
36379 case MINVALUE:
36380 case MAXVALUE:
36381 case RESTART:
36382 case LOB_COMPACTION:
36383 case COMPRESS_ALL_ROW_GROUPS:
36384 case REORGANIZE:
36385 case RESUME:
36386 case PAUSE:
36387 case ABORT:
36388 case ACCELERATED_DATABASE_RECOVERY:
36389 case PERSISTENT_VERSION_STORE_FILEGROUP:
36390 case IMMEDIATE:
36391 case NO_WAIT:
36392 case TARGET_RECOVERY_TIME:
36393 case SECONDS:
36394 case HONOR_BROKER_PRIORITY:
36395 case ERROR_BROKER_CONVERSATIONS:
36396 case NEW_BROKER:
36397 case DISABLE_BROKER:
36398 case ENABLE_BROKER:
36399 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
36400 case READ_COMMITTED_SNAPSHOT:
36401 case ALLOW_SNAPSHOT_ISOLATION:
36402 case RECURSIVE_TRIGGERS:
36403 case QUOTED_IDENTIFIER:
36404 case NUMERIC_ROUNDABORT:
36405 case CONCAT_NULL_YIELDS_NULL:
36406 case COMPATIBILITY_LEVEL:
36407 case ARITHABORT:
36408 case ANSI_WARNINGS:
36409 case ANSI_PADDING:
36410 case ANSI_NULLS:
36411 case ANSI_NULL_DEFAULT:
36412 case PAGE_VERIFY:
36413 case CHECKSUM:
36414 case TORN_PAGE_DETECTION:
36415 case BULK_LOGGED:
36416 case RECOVERY:
36417 case TOTAL_EXECUTION_CPU_TIME_MS:
36418 case TOTAL_COMPILE_CPU_TIME_MS:
36419 case STALE_CAPTURE_POLICY_THRESHOLD:
36420 case EXECUTION_COUNT:
36421 case QUERY_CAPTURE_POLICY:
36422 case WAIT_STATS_CAPTURE_MODE:
36423 case MAX_PLANS_PER_QUERY:
36424 case QUERY_CAPTURE_MODE:
36425 case SIZE_BASED_CLEANUP_MODE:
36426 case INTERVAL_LENGTH_MINUTES:
36427 case MAX_STORAGE_SIZE_MB:
36428 case DATA_FLUSH_INTERVAL_SECONDS:
36429 case CLEANUP_POLICY:
36430 case CUSTOM:
36431 case STALE_QUERY_THRESHOLD_DAYS:
36432 case OPERATION_MODE:
36433 case QUERY_STORE:
36434 case CURSOR_DEFAULT:
36435 case GLOBAL:
36436 case CURSOR_CLOSE_ON_COMMIT:
36437 case HOURS:
36438 case CHANGE_RETENTION:
36439 case AUTO_CLEANUP:
36440 case CHANGE_TRACKING:
36441 case AUTOMATIC_TUNING:
36442 case FORCE_LAST_GOOD_PLAN:
36443 case AUTO_UPDATE_STATISTICS_ASYNC:
36444 case AUTO_UPDATE_STATISTICS:
36445 case AUTO_SHRINK:
36446 case AUTO_CREATE_STATISTICS:
36447 case INCREMENTAL:
36448 case AUTO_CLOSE:
36449 case DATA_RETENTION:
36450 case TEMPORAL_HISTORY_RETENTION:
36451 case EDITION:
36452 case MIXED_PAGE_ALLOCATION:
36453 case DISABLED:
36454 case ALLOWED:
36455 case HADR:
36456 case MULTI_USER:
36457 case RESTRICTED_USER:
36458 case SINGLE_USER:
36459 case OFFLINE:
36460 case EMERGENCY:
36461 case SUSPEND:
36462 case DATE_CORRELATION_OPTIMIZATION:
36463 case ELASTIC_POOL:
36464 case SERVICE_OBJECTIVE:
36465 case DATABASE_NAME:
36466 case ALLOW_CONNECTIONS:
36467 case GEO:
36468 case NAMED:
36469 case DATEFIRST:
36470 case BACKUP_STORAGE_REDUNDANCY:
36471 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
36472 case SECONDARY:
36473 case FAILOVER:
36474 case DEFAULT_FULLTEXT_LANGUAGE:
36475 case DEFAULT_LANGUAGE:
36476 case INLINE:
36477 case NESTED_TRIGGERS:
36478 case TRANSFORM_NOISE_WORDS:
36479 case TWO_DIGIT_YEAR_CUTOFF:
36480 case PERSISTENT_LOG_BUFFER:
36481 case DIRECTORY_NAME:
36482 case DATEFORMAT:
36483 case DELAYED_DURABILITY:
36484 case AUTHORIZATION:
36485 case TRANSFER:
36486 case PROVIDER:
36487 case SEARCH:
36488 case MEMBER:
36489 case IDENTIFIER_:
36490 case DELIMITED_IDENTIFIER_:
36491 enterOuterAlt(_localctx, 1);
36492 {
36493 setState(5021);
36494 multipleTableNames();
36495 setState(5022);
36496 match(FROM);
36497 setState(5023);
36498 tableReferences();
36499 }
36500 break;
36501 case FROM:
36502 enterOuterAlt(_localctx, 2);
36503 {
36504 setState(5025);
36505 match(FROM);
36506 setState(5026);
36507 multipleTableNames();
36508 setState(5027);
36509 match(USING);
36510 setState(5028);
36511 tableReferences();
36512 }
36513 break;
36514 default:
36515 throw new NoViableAltException(this);
36516 }
36517 }
36518 catch (RecognitionException re) {
36519 _localctx.exception = re;
36520 _errHandler.reportError(this, re);
36521 _errHandler.recover(this, re);
36522 }
36523 finally {
36524 exitRule();
36525 }
36526 return _localctx;
36527 }
36528
36529 public static class MultipleTableNamesContext extends ParserRuleContext {
36530 public List<TableNameContext> tableName() {
36531 return getRuleContexts(TableNameContext.class);
36532 }
36533 public TableNameContext tableName(int i) {
36534 return getRuleContext(TableNameContext.class,i);
36535 }
36536 public List<TerminalNode> DOT_ASTERISK_() { return getTokens(SQLServerStatementParser.DOT_ASTERISK_); }
36537 public TerminalNode DOT_ASTERISK_(int i) {
36538 return getToken(SQLServerStatementParser.DOT_ASTERISK_, i);
36539 }
36540 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
36541 public TerminalNode COMMA_(int i) {
36542 return getToken(SQLServerStatementParser.COMMA_, i);
36543 }
36544 public MultipleTableNamesContext(ParserRuleContext parent, int invokingState) {
36545 super(parent, invokingState);
36546 }
36547 @Override public int getRuleIndex() { return RULE_multipleTableNames; }
36548 @Override
36549 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36550 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMultipleTableNames(this);
36551 else return visitor.visitChildren(this);
36552 }
36553 }
36554
36555 public final MultipleTableNamesContext multipleTableNames() throws RecognitionException {
36556 MultipleTableNamesContext _localctx = new MultipleTableNamesContext(_ctx, getState());
36557 enterRule(_localctx, 698, RULE_multipleTableNames);
36558 int _la;
36559 try {
36560 enterOuterAlt(_localctx, 1);
36561 {
36562 setState(5032);
36563 tableName();
36564 setState(5034);
36565 _errHandler.sync(this);
36566 _la = _input.LA(1);
36567 if (_la==DOT_ASTERISK_) {
36568 {
36569 setState(5033);
36570 match(DOT_ASTERISK_);
36571 }
36572 }
36573
36574 setState(5043);
36575 _errHandler.sync(this);
36576 _la = _input.LA(1);
36577 while (_la==COMMA_) {
36578 {
36579 {
36580 setState(5036);
36581 match(COMMA_);
36582 setState(5037);
36583 tableName();
36584 setState(5039);
36585 _errHandler.sync(this);
36586 _la = _input.LA(1);
36587 if (_la==DOT_ASTERISK_) {
36588 {
36589 setState(5038);
36590 match(DOT_ASTERISK_);
36591 }
36592 }
36593
36594 }
36595 }
36596 setState(5045);
36597 _errHandler.sync(this);
36598 _la = _input.LA(1);
36599 }
36600 }
36601 }
36602 catch (RecognitionException re) {
36603 _localctx.exception = re;
36604 _errHandler.reportError(this, re);
36605 _errHandler.recover(this, re);
36606 }
36607 finally {
36608 exitRule();
36609 }
36610 return _localctx;
36611 }
36612
36613 public static class SelectContext extends ParserRuleContext {
36614 public AggregationClauseContext aggregationClause() {
36615 return getRuleContext(AggregationClauseContext.class,0);
36616 }
36617 public SelectContext(ParserRuleContext parent, int invokingState) {
36618 super(parent, invokingState);
36619 }
36620 @Override public int getRuleIndex() { return RULE_select; }
36621 @Override
36622 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36623 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelect(this);
36624 else return visitor.visitChildren(this);
36625 }
36626 }
36627
36628 public final SelectContext select() throws RecognitionException {
36629 SelectContext _localctx = new SelectContext(_ctx, getState());
36630 enterRule(_localctx, 700, RULE_select);
36631 try {
36632 enterOuterAlt(_localctx, 1);
36633 {
36634 setState(5046);
36635 aggregationClause();
36636 }
36637 }
36638 catch (RecognitionException re) {
36639 _localctx.exception = re;
36640 _errHandler.reportError(this, re);
36641 _errHandler.recover(this, re);
36642 }
36643 finally {
36644 exitRule();
36645 }
36646 return _localctx;
36647 }
36648
36649 public static class AggregationClauseContext extends ParserRuleContext {
36650 public List<SelectClauseContext> selectClause() {
36651 return getRuleContexts(SelectClauseContext.class);
36652 }
36653 public SelectClauseContext selectClause(int i) {
36654 return getRuleContext(SelectClauseContext.class,i);
36655 }
36656 public List<TerminalNode> UNION() { return getTokens(SQLServerStatementParser.UNION); }
36657 public TerminalNode UNION(int i) {
36658 return getToken(SQLServerStatementParser.UNION, i);
36659 }
36660 public List<TerminalNode> EXCEPT() { return getTokens(SQLServerStatementParser.EXCEPT); }
36661 public TerminalNode EXCEPT(int i) {
36662 return getToken(SQLServerStatementParser.EXCEPT, i);
36663 }
36664 public List<TerminalNode> INTERSECT() { return getTokens(SQLServerStatementParser.INTERSECT); }
36665 public TerminalNode INTERSECT(int i) {
36666 return getToken(SQLServerStatementParser.INTERSECT, i);
36667 }
36668 public List<TerminalNode> ALL() { return getTokens(SQLServerStatementParser.ALL); }
36669 public TerminalNode ALL(int i) {
36670 return getToken(SQLServerStatementParser.ALL, i);
36671 }
36672 public AggregationClauseContext(ParserRuleContext parent, int invokingState) {
36673 super(parent, invokingState);
36674 }
36675 @Override public int getRuleIndex() { return RULE_aggregationClause; }
36676 @Override
36677 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36678 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationClause(this);
36679 else return visitor.visitChildren(this);
36680 }
36681 }
36682
36683 public final AggregationClauseContext aggregationClause() throws RecognitionException {
36684 AggregationClauseContext _localctx = new AggregationClauseContext(_ctx, getState());
36685 enterRule(_localctx, 702, RULE_aggregationClause);
36686 int _la;
36687 try {
36688 enterOuterAlt(_localctx, 1);
36689 {
36690 setState(5048);
36691 selectClause();
36692 setState(5060);
36693 _errHandler.sync(this);
36694 _la = _input.LA(1);
36695 while (_la==UNION || _la==EXCEPT || _la==INTERSECT) {
36696 {
36697 {
36698 setState(5055);
36699 _errHandler.sync(this);
36700 switch (_input.LA(1)) {
36701 case UNION:
36702 {
36703 setState(5049);
36704 match(UNION);
36705 setState(5051);
36706 _errHandler.sync(this);
36707 _la = _input.LA(1);
36708 if (_la==ALL) {
36709 {
36710 setState(5050);
36711 match(ALL);
36712 }
36713 }
36714
36715 }
36716 break;
36717 case EXCEPT:
36718 {
36719 setState(5053);
36720 match(EXCEPT);
36721 }
36722 break;
36723 case INTERSECT:
36724 {
36725 setState(5054);
36726 match(INTERSECT);
36727 }
36728 break;
36729 default:
36730 throw new NoViableAltException(this);
36731 }
36732 setState(5057);
36733 selectClause();
36734 }
36735 }
36736 setState(5062);
36737 _errHandler.sync(this);
36738 _la = _input.LA(1);
36739 }
36740 }
36741 }
36742 catch (RecognitionException re) {
36743 _localctx.exception = re;
36744 _errHandler.reportError(this, re);
36745 _errHandler.recover(this, re);
36746 }
36747 finally {
36748 exitRule();
36749 }
36750 return _localctx;
36751 }
36752
36753 public static class SelectClauseContext extends ParserRuleContext {
36754 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
36755 public ProjectionsContext projections() {
36756 return getRuleContext(ProjectionsContext.class,0);
36757 }
36758 public SelectWithClauseContext selectWithClause() {
36759 return getRuleContext(SelectWithClauseContext.class,0);
36760 }
36761 public DuplicateSpecificationContext duplicateSpecification() {
36762 return getRuleContext(DuplicateSpecificationContext.class,0);
36763 }
36764 public FromClauseContext fromClause() {
36765 return getRuleContext(FromClauseContext.class,0);
36766 }
36767 public WhereClauseContext whereClause() {
36768 return getRuleContext(WhereClauseContext.class,0);
36769 }
36770 public GroupByClauseContext groupByClause() {
36771 return getRuleContext(GroupByClauseContext.class,0);
36772 }
36773 public HavingClauseContext havingClause() {
36774 return getRuleContext(HavingClauseContext.class,0);
36775 }
36776 public OrderByClauseContext orderByClause() {
36777 return getRuleContext(OrderByClauseContext.class,0);
36778 }
36779 public ForClauseContext forClause() {
36780 return getRuleContext(ForClauseContext.class,0);
36781 }
36782 public SelectClauseContext(ParserRuleContext parent, int invokingState) {
36783 super(parent, invokingState);
36784 }
36785 @Override public int getRuleIndex() { return RULE_selectClause; }
36786 @Override
36787 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36788 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelectClause(this);
36789 else return visitor.visitChildren(this);
36790 }
36791 }
36792
36793 public final SelectClauseContext selectClause() throws RecognitionException {
36794 SelectClauseContext _localctx = new SelectClauseContext(_ctx, getState());
36795 enterRule(_localctx, 704, RULE_selectClause);
36796 int _la;
36797 try {
36798 enterOuterAlt(_localctx, 1);
36799 {
36800 setState(5064);
36801 _errHandler.sync(this);
36802 _la = _input.LA(1);
36803 if (_la==WITH) {
36804 {
36805 setState(5063);
36806 selectWithClause();
36807 }
36808 }
36809
36810 setState(5066);
36811 match(SELECT);
36812 setState(5068);
36813 _errHandler.sync(this);
36814 _la = _input.LA(1);
36815 if (_la==DISTINCT || _la==ALL) {
36816 {
36817 setState(5067);
36818 duplicateSpecification();
36819 }
36820 }
36821
36822 setState(5070);
36823 projections();
36824 setState(5072);
36825 _errHandler.sync(this);
36826 _la = _input.LA(1);
36827 if (_la==FROM) {
36828 {
36829 setState(5071);
36830 fromClause();
36831 }
36832 }
36833
36834 setState(5075);
36835 _errHandler.sync(this);
36836 _la = _input.LA(1);
36837 if (_la==WHERE) {
36838 {
36839 setState(5074);
36840 whereClause();
36841 }
36842 }
36843
36844 setState(5078);
36845 _errHandler.sync(this);
36846 _la = _input.LA(1);
36847 if (_la==GROUP) {
36848 {
36849 setState(5077);
36850 groupByClause();
36851 }
36852 }
36853
36854 setState(5081);
36855 _errHandler.sync(this);
36856 _la = _input.LA(1);
36857 if (_la==HAVING) {
36858 {
36859 setState(5080);
36860 havingClause();
36861 }
36862 }
36863
36864 setState(5084);
36865 _errHandler.sync(this);
36866 _la = _input.LA(1);
36867 if (_la==ORDER) {
36868 {
36869 setState(5083);
36870 orderByClause();
36871 }
36872 }
36873
36874 setState(5087);
36875 _errHandler.sync(this);
36876 switch ( getInterpreter().adaptivePredict(_input,571,_ctx) ) {
36877 case 1:
36878 {
36879 setState(5086);
36880 forClause();
36881 }
36882 break;
36883 }
36884 }
36885 }
36886 catch (RecognitionException re) {
36887 _localctx.exception = re;
36888 _errHandler.reportError(this, re);
36889 _errHandler.recover(this, re);
36890 }
36891 finally {
36892 exitRule();
36893 }
36894 return _localctx;
36895 }
36896
36897 public static class DuplicateSpecificationContext extends ParserRuleContext {
36898 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
36899 public TerminalNode DISTINCT() { return getToken(SQLServerStatementParser.DISTINCT, 0); }
36900 public DuplicateSpecificationContext(ParserRuleContext parent, int invokingState) {
36901 super(parent, invokingState);
36902 }
36903 @Override public int getRuleIndex() { return RULE_duplicateSpecification; }
36904 @Override
36905 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36906 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDuplicateSpecification(this);
36907 else return visitor.visitChildren(this);
36908 }
36909 }
36910
36911 public final DuplicateSpecificationContext duplicateSpecification() throws RecognitionException {
36912 DuplicateSpecificationContext _localctx = new DuplicateSpecificationContext(_ctx, getState());
36913 enterRule(_localctx, 706, RULE_duplicateSpecification);
36914 int _la;
36915 try {
36916 enterOuterAlt(_localctx, 1);
36917 {
36918 setState(5089);
36919 _la = _input.LA(1);
36920 if ( !(_la==DISTINCT || _la==ALL) ) {
36921 _errHandler.recoverInline(this);
36922 }
36923 else {
36924 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
36925 _errHandler.reportMatch(this);
36926 consume();
36927 }
36928 }
36929 }
36930 catch (RecognitionException re) {
36931 _localctx.exception = re;
36932 _errHandler.reportError(this, re);
36933 _errHandler.recover(this, re);
36934 }
36935 finally {
36936 exitRule();
36937 }
36938 return _localctx;
36939 }
36940
36941 public static class ProjectionsContext extends ParserRuleContext {
36942 public List<ProjectionContext> projection() {
36943 return getRuleContexts(ProjectionContext.class);
36944 }
36945 public ProjectionContext projection(int i) {
36946 return getRuleContext(ProjectionContext.class,i);
36947 }
36948 public TopContext top() {
36949 return getRuleContext(TopContext.class,0);
36950 }
36951 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
36952 public TerminalNode COMMA_(int i) {
36953 return getToken(SQLServerStatementParser.COMMA_, i);
36954 }
36955 public ProjectionsContext(ParserRuleContext parent, int invokingState) {
36956 super(parent, invokingState);
36957 }
36958 @Override public int getRuleIndex() { return RULE_projections; }
36959 @Override
36960 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36961 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProjections(this);
36962 else return visitor.visitChildren(this);
36963 }
36964 }
36965
36966 public final ProjectionsContext projections() throws RecognitionException {
36967 ProjectionsContext _localctx = new ProjectionsContext(_ctx, getState());
36968 enterRule(_localctx, 708, RULE_projections);
36969 int _la;
36970 try {
36971 enterOuterAlt(_localctx, 1);
36972 {
36973 setState(5096);
36974 _errHandler.sync(this);
36975 switch ( getInterpreter().adaptivePredict(_input,573,_ctx) ) {
36976 case 1:
36977 {
36978 setState(5091);
36979 projection();
36980 }
36981 break;
36982 case 2:
36983 {
36984 setState(5092);
36985 top();
36986 setState(5094);
36987 _errHandler.sync(this);
36988 switch ( getInterpreter().adaptivePredict(_input,572,_ctx) ) {
36989 case 1:
36990 {
36991 setState(5093);
36992 projection();
36993 }
36994 break;
36995 }
36996 }
36997 break;
36998 }
36999 setState(5102);
37000 _errHandler.sync(this);
37001 _la = _input.LA(1);
37002 while (_la==COMMA_) {
37003 {
37004 {
37005 setState(5098);
37006 match(COMMA_);
37007 setState(5099);
37008 projection();
37009 }
37010 }
37011 setState(5104);
37012 _errHandler.sync(this);
37013 _la = _input.LA(1);
37014 }
37015 }
37016 }
37017 catch (RecognitionException re) {
37018 _localctx.exception = re;
37019 _errHandler.reportError(this, re);
37020 _errHandler.recover(this, re);
37021 }
37022 finally {
37023 exitRule();
37024 }
37025 return _localctx;
37026 }
37027
37028 public static class ProjectionContext extends ParserRuleContext {
37029 public QualifiedShorthandContext qualifiedShorthand() {
37030 return getRuleContext(QualifiedShorthandContext.class,0);
37031 }
37032 public UnqualifiedShorthandContext unqualifiedShorthand() {
37033 return getRuleContext(UnqualifiedShorthandContext.class,0);
37034 }
37035 public ColumnNameContext columnName() {
37036 return getRuleContext(ColumnNameContext.class,0);
37037 }
37038 public ExprContext expr() {
37039 return getRuleContext(ExprContext.class,0);
37040 }
37041 public AliasContext alias() {
37042 return getRuleContext(AliasContext.class,0);
37043 }
37044 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
37045 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
37046 public ProjectionContext(ParserRuleContext parent, int invokingState) {
37047 super(parent, invokingState);
37048 }
37049 @Override public int getRuleIndex() { return RULE_projection; }
37050 @Override
37051 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37052 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProjection(this);
37053 else return visitor.visitChildren(this);
37054 }
37055 }
37056
37057 public final ProjectionContext projection() throws RecognitionException {
37058 ProjectionContext _localctx = new ProjectionContext(_ctx, getState());
37059 enterRule(_localctx, 710, RULE_projection);
37060 int _la;
37061 try {
37062 setState(5126);
37063 _errHandler.sync(this);
37064 switch ( getInterpreter().adaptivePredict(_input,580,_ctx) ) {
37065 case 1:
37066 enterOuterAlt(_localctx, 1);
37067 {
37068 setState(5105);
37069 qualifiedShorthand();
37070 }
37071 break;
37072 case 2:
37073 enterOuterAlt(_localctx, 2);
37074 {
37075 setState(5106);
37076 unqualifiedShorthand();
37077 }
37078 break;
37079 case 3:
37080 enterOuterAlt(_localctx, 3);
37081 {
37082 setState(5110);
37083 _errHandler.sync(this);
37084 switch ( getInterpreter().adaptivePredict(_input,575,_ctx) ) {
37085 case 1:
37086 {
37087 setState(5107);
37088 alias();
37089 setState(5108);
37090 match(EQ_);
37091 }
37092 break;
37093 }
37094 setState(5114);
37095 _errHandler.sync(this);
37096 switch ( getInterpreter().adaptivePredict(_input,576,_ctx) ) {
37097 case 1:
37098 {
37099 setState(5112);
37100 columnName();
37101 }
37102 break;
37103 case 2:
37104 {
37105 setState(5113);
37106 expr(0);
37107 }
37108 break;
37109 }
37110 }
37111 break;
37112 case 4:
37113 enterOuterAlt(_localctx, 4);
37114 {
37115 setState(5118);
37116 _errHandler.sync(this);
37117 switch ( getInterpreter().adaptivePredict(_input,577,_ctx) ) {
37118 case 1:
37119 {
37120 setState(5116);
37121 columnName();
37122 }
37123 break;
37124 case 2:
37125 {
37126 setState(5117);
37127 expr(0);
37128 }
37129 break;
37130 }
37131 setState(5124);
37132 _errHandler.sync(this);
37133 switch ( getInterpreter().adaptivePredict(_input,579,_ctx) ) {
37134 case 1:
37135 {
37136 setState(5121);
37137 _errHandler.sync(this);
37138 _la = _input.LA(1);
37139 if (_la==AS) {
37140 {
37141 setState(5120);
37142 match(AS);
37143 }
37144 }
37145
37146 setState(5123);
37147 alias();
37148 }
37149 break;
37150 }
37151 }
37152 break;
37153 }
37154 }
37155 catch (RecognitionException re) {
37156 _localctx.exception = re;
37157 _errHandler.reportError(this, re);
37158 _errHandler.recover(this, re);
37159 }
37160 finally {
37161 exitRule();
37162 }
37163 return _localctx;
37164 }
37165
37166 public static class TopContext extends ParserRuleContext {
37167 public TerminalNode TOP() { return getToken(SQLServerStatementParser.TOP, 0); }
37168 public TopNumContext topNum() {
37169 return getRuleContext(TopNumContext.class,0);
37170 }
37171 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
37172 public TerminalNode LP_(int i) {
37173 return getToken(SQLServerStatementParser.LP_, i);
37174 }
37175 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
37176 public TerminalNode RP_(int i) {
37177 return getToken(SQLServerStatementParser.RP_, i);
37178 }
37179 public TerminalNode PERCENT() { return getToken(SQLServerStatementParser.PERCENT, 0); }
37180 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
37181 public TerminalNode TIES() { return getToken(SQLServerStatementParser.TIES, 0); }
37182 public TerminalNode ROW_NUMBER() { return getToken(SQLServerStatementParser.ROW_NUMBER, 0); }
37183 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
37184 public OrderByClauseContext orderByClause() {
37185 return getRuleContext(OrderByClauseContext.class,0);
37186 }
37187 public AliasContext alias() {
37188 return getRuleContext(AliasContext.class,0);
37189 }
37190 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
37191 public TopContext(ParserRuleContext parent, int invokingState) {
37192 super(parent, invokingState);
37193 }
37194 @Override public int getRuleIndex() { return RULE_top; }
37195 @Override
37196 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37197 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTop(this);
37198 else return visitor.visitChildren(this);
37199 }
37200 }
37201
37202 public final TopContext top() throws RecognitionException {
37203 TopContext _localctx = new TopContext(_ctx, getState());
37204 enterRule(_localctx, 712, RULE_top);
37205 int _la;
37206 try {
37207 enterOuterAlt(_localctx, 1);
37208 {
37209 setState(5128);
37210 match(TOP);
37211 setState(5130);
37212 _errHandler.sync(this);
37213 _la = _input.LA(1);
37214 if (_la==LP_) {
37215 {
37216 setState(5129);
37217 match(LP_);
37218 }
37219 }
37220
37221 setState(5132);
37222 topNum();
37223 setState(5134);
37224 _errHandler.sync(this);
37225 switch ( getInterpreter().adaptivePredict(_input,582,_ctx) ) {
37226 case 1:
37227 {
37228 setState(5133);
37229 match(RP_);
37230 }
37231 break;
37232 }
37233 setState(5137);
37234 _errHandler.sync(this);
37235 _la = _input.LA(1);
37236 if (_la==PERCENT) {
37237 {
37238 setState(5136);
37239 match(PERCENT);
37240 }
37241 }
37242
37243 setState(5141);
37244 _errHandler.sync(this);
37245 switch ( getInterpreter().adaptivePredict(_input,584,_ctx) ) {
37246 case 1:
37247 {
37248 setState(5139);
37249 match(WITH);
37250 setState(5140);
37251 match(TIES);
37252 }
37253 break;
37254 }
37255 setState(5156);
37256 _errHandler.sync(this);
37257 switch ( getInterpreter().adaptivePredict(_input,587,_ctx) ) {
37258 case 1:
37259 {
37260 setState(5143);
37261 match(ROW_NUMBER);
37262 setState(5144);
37263 match(LP_);
37264 setState(5145);
37265 match(RP_);
37266 setState(5146);
37267 match(OVER);
37268 setState(5147);
37269 match(LP_);
37270 setState(5148);
37271 orderByClause();
37272 setState(5149);
37273 match(RP_);
37274 setState(5154);
37275 _errHandler.sync(this);
37276 switch ( getInterpreter().adaptivePredict(_input,586,_ctx) ) {
37277 case 1:
37278 {
37279 setState(5151);
37280 _errHandler.sync(this);
37281 _la = _input.LA(1);
37282 if (_la==AS) {
37283 {
37284 setState(5150);
37285 match(AS);
37286 }
37287 }
37288
37289 setState(5153);
37290 alias();
37291 }
37292 break;
37293 }
37294 }
37295 break;
37296 }
37297 }
37298 }
37299 catch (RecognitionException re) {
37300 _localctx.exception = re;
37301 _errHandler.reportError(this, re);
37302 _errHandler.recover(this, re);
37303 }
37304 finally {
37305 exitRule();
37306 }
37307 return _localctx;
37308 }
37309
37310 public static class TopNumContext extends ParserRuleContext {
37311 public NumberLiteralsContext numberLiterals() {
37312 return getRuleContext(NumberLiteralsContext.class,0);
37313 }
37314 public ParameterMarkerContext parameterMarker() {
37315 return getRuleContext(ParameterMarkerContext.class,0);
37316 }
37317 public TopNumContext(ParserRuleContext parent, int invokingState) {
37318 super(parent, invokingState);
37319 }
37320 @Override public int getRuleIndex() { return RULE_topNum; }
37321 @Override
37322 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37323 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTopNum(this);
37324 else return visitor.visitChildren(this);
37325 }
37326 }
37327
37328 public final TopNumContext topNum() throws RecognitionException {
37329 TopNumContext _localctx = new TopNumContext(_ctx, getState());
37330 enterRule(_localctx, 714, RULE_topNum);
37331 try {
37332 setState(5160);
37333 _errHandler.sync(this);
37334 switch (_input.LA(1)) {
37335 case PLUS_:
37336 case MINUS_:
37337 case NUMBER_:
37338 enterOuterAlt(_localctx, 1);
37339 {
37340 setState(5158);
37341 numberLiterals();
37342 }
37343 break;
37344 case QUESTION_:
37345 enterOuterAlt(_localctx, 2);
37346 {
37347 setState(5159);
37348 parameterMarker();
37349 }
37350 break;
37351 default:
37352 throw new NoViableAltException(this);
37353 }
37354 }
37355 catch (RecognitionException re) {
37356 _localctx.exception = re;
37357 _errHandler.reportError(this, re);
37358 _errHandler.recover(this, re);
37359 }
37360 finally {
37361 exitRule();
37362 }
37363 return _localctx;
37364 }
37365
37366 public static class UnqualifiedShorthandContext extends ParserRuleContext {
37367 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
37368 public UnqualifiedShorthandContext(ParserRuleContext parent, int invokingState) {
37369 super(parent, invokingState);
37370 }
37371 @Override public int getRuleIndex() { return RULE_unqualifiedShorthand; }
37372 @Override
37373 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37374 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUnqualifiedShorthand(this);
37375 else return visitor.visitChildren(this);
37376 }
37377 }
37378
37379 public final UnqualifiedShorthandContext unqualifiedShorthand() throws RecognitionException {
37380 UnqualifiedShorthandContext _localctx = new UnqualifiedShorthandContext(_ctx, getState());
37381 enterRule(_localctx, 716, RULE_unqualifiedShorthand);
37382 try {
37383 enterOuterAlt(_localctx, 1);
37384 {
37385 setState(5162);
37386 match(ASTERISK_);
37387 }
37388 }
37389 catch (RecognitionException re) {
37390 _localctx.exception = re;
37391 _errHandler.reportError(this, re);
37392 _errHandler.recover(this, re);
37393 }
37394 finally {
37395 exitRule();
37396 }
37397 return _localctx;
37398 }
37399
37400 public static class QualifiedShorthandContext extends ParserRuleContext {
37401 public IdentifierContext identifier() {
37402 return getRuleContext(IdentifierContext.class,0);
37403 }
37404 public TerminalNode DOT_ASTERISK_() { return getToken(SQLServerStatementParser.DOT_ASTERISK_, 0); }
37405 public QualifiedShorthandContext(ParserRuleContext parent, int invokingState) {
37406 super(parent, invokingState);
37407 }
37408 @Override public int getRuleIndex() { return RULE_qualifiedShorthand; }
37409 @Override
37410 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37411 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQualifiedShorthand(this);
37412 else return visitor.visitChildren(this);
37413 }
37414 }
37415
37416 public final QualifiedShorthandContext qualifiedShorthand() throws RecognitionException {
37417 QualifiedShorthandContext _localctx = new QualifiedShorthandContext(_ctx, getState());
37418 enterRule(_localctx, 718, RULE_qualifiedShorthand);
37419 try {
37420 enterOuterAlt(_localctx, 1);
37421 {
37422 setState(5164);
37423 identifier();
37424 setState(5165);
37425 match(DOT_ASTERISK_);
37426 }
37427 }
37428 catch (RecognitionException re) {
37429 _localctx.exception = re;
37430 _errHandler.reportError(this, re);
37431 _errHandler.recover(this, re);
37432 }
37433 finally {
37434 exitRule();
37435 }
37436 return _localctx;
37437 }
37438
37439 public static class FromClauseContext extends ParserRuleContext {
37440 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
37441 public TableReferencesContext tableReferences() {
37442 return getRuleContext(TableReferencesContext.class,0);
37443 }
37444 public FromClauseContext(ParserRuleContext parent, int invokingState) {
37445 super(parent, invokingState);
37446 }
37447 @Override public int getRuleIndex() { return RULE_fromClause; }
37448 @Override
37449 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37450 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFromClause(this);
37451 else return visitor.visitChildren(this);
37452 }
37453 }
37454
37455 public final FromClauseContext fromClause() throws RecognitionException {
37456 FromClauseContext _localctx = new FromClauseContext(_ctx, getState());
37457 enterRule(_localctx, 720, RULE_fromClause);
37458 try {
37459 enterOuterAlt(_localctx, 1);
37460 {
37461 setState(5167);
37462 match(FROM);
37463 setState(5168);
37464 tableReferences();
37465 }
37466 }
37467 catch (RecognitionException re) {
37468 _localctx.exception = re;
37469 _errHandler.reportError(this, re);
37470 _errHandler.recover(this, re);
37471 }
37472 finally {
37473 exitRule();
37474 }
37475 return _localctx;
37476 }
37477
37478 public static class TableReferencesContext extends ParserRuleContext {
37479 public List<TableReferenceContext> tableReference() {
37480 return getRuleContexts(TableReferenceContext.class);
37481 }
37482 public TableReferenceContext tableReference(int i) {
37483 return getRuleContext(TableReferenceContext.class,i);
37484 }
37485 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
37486 public TerminalNode COMMA_(int i) {
37487 return getToken(SQLServerStatementParser.COMMA_, i);
37488 }
37489 public TableReferencesContext(ParserRuleContext parent, int invokingState) {
37490 super(parent, invokingState);
37491 }
37492 @Override public int getRuleIndex() { return RULE_tableReferences; }
37493 @Override
37494 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37495 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableReferences(this);
37496 else return visitor.visitChildren(this);
37497 }
37498 }
37499
37500 public final TableReferencesContext tableReferences() throws RecognitionException {
37501 TableReferencesContext _localctx = new TableReferencesContext(_ctx, getState());
37502 enterRule(_localctx, 722, RULE_tableReferences);
37503 int _la;
37504 try {
37505 enterOuterAlt(_localctx, 1);
37506 {
37507 setState(5170);
37508 tableReference();
37509 setState(5175);
37510 _errHandler.sync(this);
37511 _la = _input.LA(1);
37512 while (_la==COMMA_) {
37513 {
37514 {
37515 setState(5171);
37516 match(COMMA_);
37517 setState(5172);
37518 tableReference();
37519 }
37520 }
37521 setState(5177);
37522 _errHandler.sync(this);
37523 _la = _input.LA(1);
37524 }
37525 }
37526 }
37527 catch (RecognitionException re) {
37528 _localctx.exception = re;
37529 _errHandler.reportError(this, re);
37530 _errHandler.recover(this, re);
37531 }
37532 finally {
37533 exitRule();
37534 }
37535 return _localctx;
37536 }
37537
37538 public static class TableReferenceContext extends ParserRuleContext {
37539 public TableFactorContext tableFactor() {
37540 return getRuleContext(TableFactorContext.class,0);
37541 }
37542 public List<JoinedTableContext> joinedTable() {
37543 return getRuleContexts(JoinedTableContext.class);
37544 }
37545 public JoinedTableContext joinedTable(int i) {
37546 return getRuleContext(JoinedTableContext.class,i);
37547 }
37548 public TableReferenceContext(ParserRuleContext parent, int invokingState) {
37549 super(parent, invokingState);
37550 }
37551 @Override public int getRuleIndex() { return RULE_tableReference; }
37552 @Override
37553 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37554 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableReference(this);
37555 else return visitor.visitChildren(this);
37556 }
37557 }
37558
37559 public final TableReferenceContext tableReference() throws RecognitionException {
37560 TableReferenceContext _localctx = new TableReferenceContext(_ctx, getState());
37561 enterRule(_localctx, 724, RULE_tableReference);
37562 int _la;
37563 try {
37564 enterOuterAlt(_localctx, 1);
37565 {
37566 setState(5178);
37567 tableFactor();
37568 setState(5182);
37569 _errHandler.sync(this);
37570 _la = _input.LA(1);
37571 while (((((_la - 86)) & ~0x3f) == 0 && ((1L << (_la - 86)) & ((1L << (NATURAL - 86)) | (1L << (JOIN - 86)) | (1L << (FULL - 86)) | (1L << (INNER - 86)) | (1L << (OUTER - 86)) | (1L << (LEFT - 86)) | (1L << (RIGHT - 86)) | (1L << (CROSS - 86)))) != 0)) {
37572 {
37573 {
37574 setState(5179);
37575 joinedTable();
37576 }
37577 }
37578 setState(5184);
37579 _errHandler.sync(this);
37580 _la = _input.LA(1);
37581 }
37582 }
37583 }
37584 catch (RecognitionException re) {
37585 _localctx.exception = re;
37586 _errHandler.reportError(this, re);
37587 _errHandler.recover(this, re);
37588 }
37589 finally {
37590 exitRule();
37591 }
37592 return _localctx;
37593 }
37594
37595 public static class TableFactorContext extends ParserRuleContext {
37596 public TableNameContext tableName() {
37597 return getRuleContext(TableNameContext.class,0);
37598 }
37599 public AliasContext alias() {
37600 return getRuleContext(AliasContext.class,0);
37601 }
37602 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
37603 public SubqueryContext subquery() {
37604 return getRuleContext(SubqueryContext.class,0);
37605 }
37606 public ColumnNamesContext columnNames() {
37607 return getRuleContext(ColumnNamesContext.class,0);
37608 }
37609 public ExprContext expr() {
37610 return getRuleContext(ExprContext.class,0);
37611 }
37612 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
37613 public TableReferencesContext tableReferences() {
37614 return getRuleContext(TableReferencesContext.class,0);
37615 }
37616 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
37617 public TableFactorContext(ParserRuleContext parent, int invokingState) {
37618 super(parent, invokingState);
37619 }
37620 @Override public int getRuleIndex() { return RULE_tableFactor; }
37621 @Override
37622 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37623 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableFactor(this);
37624 else return visitor.visitChildren(this);
37625 }
37626 }
37627
37628 public final TableFactorContext tableFactor() throws RecognitionException {
37629 TableFactorContext _localctx = new TableFactorContext(_ctx, getState());
37630 enterRule(_localctx, 726, RULE_tableFactor);
37631 int _la;
37632 try {
37633 setState(5211);
37634 _errHandler.sync(this);
37635 switch ( getInterpreter().adaptivePredict(_input,597,_ctx) ) {
37636 case 1:
37637 enterOuterAlt(_localctx, 1);
37638 {
37639 setState(5185);
37640 tableName();
37641 setState(5190);
37642 _errHandler.sync(this);
37643 switch ( getInterpreter().adaptivePredict(_input,592,_ctx) ) {
37644 case 1:
37645 {
37646 setState(5187);
37647 _errHandler.sync(this);
37648 _la = _input.LA(1);
37649 if (_la==AS) {
37650 {
37651 setState(5186);
37652 match(AS);
37653 }
37654 }
37655
37656 setState(5189);
37657 alias();
37658 }
37659 break;
37660 }
37661 }
37662 break;
37663 case 2:
37664 enterOuterAlt(_localctx, 2);
37665 {
37666 setState(5192);
37667 subquery();
37668 setState(5194);
37669 _errHandler.sync(this);
37670 _la = _input.LA(1);
37671 if (_la==AS) {
37672 {
37673 setState(5193);
37674 match(AS);
37675 }
37676 }
37677
37678 setState(5196);
37679 alias();
37680 setState(5198);
37681 _errHandler.sync(this);
37682 _la = _input.LA(1);
37683 if (_la==LP_) {
37684 {
37685 setState(5197);
37686 columnNames();
37687 }
37688 }
37689
37690 }
37691 break;
37692 case 3:
37693 enterOuterAlt(_localctx, 3);
37694 {
37695 setState(5200);
37696 expr(0);
37697 setState(5205);
37698 _errHandler.sync(this);
37699 switch ( getInterpreter().adaptivePredict(_input,596,_ctx) ) {
37700 case 1:
37701 {
37702 setState(5202);
37703 _errHandler.sync(this);
37704 _la = _input.LA(1);
37705 if (_la==AS) {
37706 {
37707 setState(5201);
37708 match(AS);
37709 }
37710 }
37711
37712 setState(5204);
37713 alias();
37714 }
37715 break;
37716 }
37717 }
37718 break;
37719 case 4:
37720 enterOuterAlt(_localctx, 4);
37721 {
37722 setState(5207);
37723 match(LP_);
37724 setState(5208);
37725 tableReferences();
37726 setState(5209);
37727 match(RP_);
37728 }
37729 break;
37730 }
37731 }
37732 catch (RecognitionException re) {
37733 _localctx.exception = re;
37734 _errHandler.reportError(this, re);
37735 _errHandler.recover(this, re);
37736 }
37737 finally {
37738 exitRule();
37739 }
37740 return _localctx;
37741 }
37742
37743 public static class JoinedTableContext extends ParserRuleContext {
37744 public TableFactorContext tableFactor() {
37745 return getRuleContext(TableFactorContext.class,0);
37746 }
37747 public TerminalNode JOIN() { return getToken(SQLServerStatementParser.JOIN, 0); }
37748 public TerminalNode NATURAL() { return getToken(SQLServerStatementParser.NATURAL, 0); }
37749 public JoinSpecificationContext joinSpecification() {
37750 return getRuleContext(JoinSpecificationContext.class,0);
37751 }
37752 public TerminalNode INNER() { return getToken(SQLServerStatementParser.INNER, 0); }
37753 public TerminalNode CROSS() { return getToken(SQLServerStatementParser.CROSS, 0); }
37754 public TerminalNode LEFT() { return getToken(SQLServerStatementParser.LEFT, 0); }
37755 public TerminalNode RIGHT() { return getToken(SQLServerStatementParser.RIGHT, 0); }
37756 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
37757 public TerminalNode OUTER() { return getToken(SQLServerStatementParser.OUTER, 0); }
37758 public TerminalNode APPLY() { return getToken(SQLServerStatementParser.APPLY, 0); }
37759 public JoinedTableContext(ParserRuleContext parent, int invokingState) {
37760 super(parent, invokingState);
37761 }
37762 @Override public int getRuleIndex() { return RULE_joinedTable; }
37763 @Override
37764 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37765 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJoinedTable(this);
37766 else return visitor.visitChildren(this);
37767 }
37768 }
37769
37770 public final JoinedTableContext joinedTable() throws RecognitionException {
37771 JoinedTableContext _localctx = new JoinedTableContext(_ctx, getState());
37772 enterRule(_localctx, 728, RULE_joinedTable);
37773 int _la;
37774 try {
37775 setState(5243);
37776 _errHandler.sync(this);
37777 switch ( getInterpreter().adaptivePredict(_input,605,_ctx) ) {
37778 case 1:
37779 enterOuterAlt(_localctx, 1);
37780 {
37781 setState(5214);
37782 _errHandler.sync(this);
37783 _la = _input.LA(1);
37784 if (_la==NATURAL) {
37785 {
37786 setState(5213);
37787 match(NATURAL);
37788 }
37789 }
37790
37791 {
37792 setState(5217);
37793 _errHandler.sync(this);
37794 _la = _input.LA(1);
37795 if (_la==INNER || _la==CROSS) {
37796 {
37797 setState(5216);
37798 _la = _input.LA(1);
37799 if ( !(_la==INNER || _la==CROSS) ) {
37800 _errHandler.recoverInline(this);
37801 }
37802 else {
37803 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
37804 _errHandler.reportMatch(this);
37805 consume();
37806 }
37807 }
37808 }
37809
37810 setState(5219);
37811 match(JOIN);
37812 }
37813 setState(5221);
37814 tableFactor();
37815 setState(5223);
37816 _errHandler.sync(this);
37817 _la = _input.LA(1);
37818 if (_la==USING || _la==ON) {
37819 {
37820 setState(5222);
37821 joinSpecification();
37822 }
37823 }
37824
37825 }
37826 break;
37827 case 2:
37828 enterOuterAlt(_localctx, 2);
37829 {
37830 setState(5226);
37831 _errHandler.sync(this);
37832 _la = _input.LA(1);
37833 if (_la==NATURAL) {
37834 {
37835 setState(5225);
37836 match(NATURAL);
37837 }
37838 }
37839
37840 setState(5228);
37841 _la = _input.LA(1);
37842 if ( !(((((_la - 88)) & ~0x3f) == 0 && ((1L << (_la - 88)) & ((1L << (FULL - 88)) | (1L << (LEFT - 88)) | (1L << (RIGHT - 88)))) != 0)) ) {
37843 _errHandler.recoverInline(this);
37844 }
37845 else {
37846 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
37847 _errHandler.reportMatch(this);
37848 consume();
37849 }
37850 setState(5230);
37851 _errHandler.sync(this);
37852 _la = _input.LA(1);
37853 if (_la==OUTER) {
37854 {
37855 setState(5229);
37856 match(OUTER);
37857 }
37858 }
37859
37860 setState(5232);
37861 match(JOIN);
37862 setState(5233);
37863 tableFactor();
37864 setState(5235);
37865 _errHandler.sync(this);
37866 _la = _input.LA(1);
37867 if (_la==USING || _la==ON) {
37868 {
37869 setState(5234);
37870 joinSpecification();
37871 }
37872 }
37873
37874 }
37875 break;
37876 case 3:
37877 enterOuterAlt(_localctx, 3);
37878 {
37879 setState(5237);
37880 _la = _input.LA(1);
37881 if ( !(_la==OUTER || _la==CROSS) ) {
37882 _errHandler.recoverInline(this);
37883 }
37884 else {
37885 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
37886 _errHandler.reportMatch(this);
37887 consume();
37888 }
37889 setState(5238);
37890 match(APPLY);
37891 setState(5239);
37892 tableFactor();
37893 setState(5241);
37894 _errHandler.sync(this);
37895 _la = _input.LA(1);
37896 if (_la==USING || _la==ON) {
37897 {
37898 setState(5240);
37899 joinSpecification();
37900 }
37901 }
37902
37903 }
37904 break;
37905 }
37906 }
37907 catch (RecognitionException re) {
37908 _localctx.exception = re;
37909 _errHandler.reportError(this, re);
37910 _errHandler.recover(this, re);
37911 }
37912 finally {
37913 exitRule();
37914 }
37915 return _localctx;
37916 }
37917
37918 public static class JoinSpecificationContext extends ParserRuleContext {
37919 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
37920 public ExprContext expr() {
37921 return getRuleContext(ExprContext.class,0);
37922 }
37923 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
37924 public ColumnNamesContext columnNames() {
37925 return getRuleContext(ColumnNamesContext.class,0);
37926 }
37927 public JoinSpecificationContext(ParserRuleContext parent, int invokingState) {
37928 super(parent, invokingState);
37929 }
37930 @Override public int getRuleIndex() { return RULE_joinSpecification; }
37931 @Override
37932 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37933 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJoinSpecification(this);
37934 else return visitor.visitChildren(this);
37935 }
37936 }
37937
37938 public final JoinSpecificationContext joinSpecification() throws RecognitionException {
37939 JoinSpecificationContext _localctx = new JoinSpecificationContext(_ctx, getState());
37940 enterRule(_localctx, 730, RULE_joinSpecification);
37941 try {
37942 setState(5249);
37943 _errHandler.sync(this);
37944 switch (_input.LA(1)) {
37945 case ON:
37946 enterOuterAlt(_localctx, 1);
37947 {
37948 setState(5245);
37949 match(ON);
37950 setState(5246);
37951 expr(0);
37952 }
37953 break;
37954 case USING:
37955 enterOuterAlt(_localctx, 2);
37956 {
37957 setState(5247);
37958 match(USING);
37959 setState(5248);
37960 columnNames();
37961 }
37962 break;
37963 default:
37964 throw new NoViableAltException(this);
37965 }
37966 }
37967 catch (RecognitionException re) {
37968 _localctx.exception = re;
37969 _errHandler.reportError(this, re);
37970 _errHandler.recover(this, re);
37971 }
37972 finally {
37973 exitRule();
37974 }
37975 return _localctx;
37976 }
37977
37978 public static class WhereClauseContext extends ParserRuleContext {
37979 public TerminalNode WHERE() { return getToken(SQLServerStatementParser.WHERE, 0); }
37980 public ExprContext expr() {
37981 return getRuleContext(ExprContext.class,0);
37982 }
37983 public WhereClauseContext(ParserRuleContext parent, int invokingState) {
37984 super(parent, invokingState);
37985 }
37986 @Override public int getRuleIndex() { return RULE_whereClause; }
37987 @Override
37988 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37989 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWhereClause(this);
37990 else return visitor.visitChildren(this);
37991 }
37992 }
37993
37994 public final WhereClauseContext whereClause() throws RecognitionException {
37995 WhereClauseContext _localctx = new WhereClauseContext(_ctx, getState());
37996 enterRule(_localctx, 732, RULE_whereClause);
37997 try {
37998 enterOuterAlt(_localctx, 1);
37999 {
38000 setState(5251);
38001 match(WHERE);
38002 setState(5252);
38003 expr(0);
38004 }
38005 }
38006 catch (RecognitionException re) {
38007 _localctx.exception = re;
38008 _errHandler.reportError(this, re);
38009 _errHandler.recover(this, re);
38010 }
38011 finally {
38012 exitRule();
38013 }
38014 return _localctx;
38015 }
38016
38017 public static class GroupByClauseContext extends ParserRuleContext {
38018 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
38019 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
38020 public List<OrderByItemContext> orderByItem() {
38021 return getRuleContexts(OrderByItemContext.class);
38022 }
38023 public OrderByItemContext orderByItem(int i) {
38024 return getRuleContext(OrderByItemContext.class,i);
38025 }
38026 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
38027 public TerminalNode COMMA_(int i) {
38028 return getToken(SQLServerStatementParser.COMMA_, i);
38029 }
38030 public GroupByClauseContext(ParserRuleContext parent, int invokingState) {
38031 super(parent, invokingState);
38032 }
38033 @Override public int getRuleIndex() { return RULE_groupByClause; }
38034 @Override
38035 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38036 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGroupByClause(this);
38037 else return visitor.visitChildren(this);
38038 }
38039 }
38040
38041 public final GroupByClauseContext groupByClause() throws RecognitionException {
38042 GroupByClauseContext _localctx = new GroupByClauseContext(_ctx, getState());
38043 enterRule(_localctx, 734, RULE_groupByClause);
38044 int _la;
38045 try {
38046 enterOuterAlt(_localctx, 1);
38047 {
38048 setState(5254);
38049 match(GROUP);
38050 setState(5255);
38051 match(BY);
38052 setState(5256);
38053 orderByItem();
38054 setState(5261);
38055 _errHandler.sync(this);
38056 _la = _input.LA(1);
38057 while (_la==COMMA_) {
38058 {
38059 {
38060 setState(5257);
38061 match(COMMA_);
38062 setState(5258);
38063 orderByItem();
38064 }
38065 }
38066 setState(5263);
38067 _errHandler.sync(this);
38068 _la = _input.LA(1);
38069 }
38070 }
38071 }
38072 catch (RecognitionException re) {
38073 _localctx.exception = re;
38074 _errHandler.reportError(this, re);
38075 _errHandler.recover(this, re);
38076 }
38077 finally {
38078 exitRule();
38079 }
38080 return _localctx;
38081 }
38082
38083 public static class HavingClauseContext extends ParserRuleContext {
38084 public TerminalNode HAVING() { return getToken(SQLServerStatementParser.HAVING, 0); }
38085 public ExprContext expr() {
38086 return getRuleContext(ExprContext.class,0);
38087 }
38088 public HavingClauseContext(ParserRuleContext parent, int invokingState) {
38089 super(parent, invokingState);
38090 }
38091 @Override public int getRuleIndex() { return RULE_havingClause; }
38092 @Override
38093 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38094 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHavingClause(this);
38095 else return visitor.visitChildren(this);
38096 }
38097 }
38098
38099 public final HavingClauseContext havingClause() throws RecognitionException {
38100 HavingClauseContext _localctx = new HavingClauseContext(_ctx, getState());
38101 enterRule(_localctx, 736, RULE_havingClause);
38102 try {
38103 enterOuterAlt(_localctx, 1);
38104 {
38105 setState(5264);
38106 match(HAVING);
38107 setState(5265);
38108 expr(0);
38109 }
38110 }
38111 catch (RecognitionException re) {
38112 _localctx.exception = re;
38113 _errHandler.reportError(this, re);
38114 _errHandler.recover(this, re);
38115 }
38116 finally {
38117 exitRule();
38118 }
38119 return _localctx;
38120 }
38121
38122 public static class SubqueryContext extends ParserRuleContext {
38123 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
38124 public AggregationClauseContext aggregationClause() {
38125 return getRuleContext(AggregationClauseContext.class,0);
38126 }
38127 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
38128 public SubqueryContext(ParserRuleContext parent, int invokingState) {
38129 super(parent, invokingState);
38130 }
38131 @Override public int getRuleIndex() { return RULE_subquery; }
38132 @Override
38133 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38134 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSubquery(this);
38135 else return visitor.visitChildren(this);
38136 }
38137 }
38138
38139 public final SubqueryContext subquery() throws RecognitionException {
38140 SubqueryContext _localctx = new SubqueryContext(_ctx, getState());
38141 enterRule(_localctx, 738, RULE_subquery);
38142 try {
38143 enterOuterAlt(_localctx, 1);
38144 {
38145 setState(5267);
38146 match(LP_);
38147 setState(5268);
38148 aggregationClause();
38149 setState(5269);
38150 match(RP_);
38151 }
38152 }
38153 catch (RecognitionException re) {
38154 _localctx.exception = re;
38155 _errHandler.reportError(this, re);
38156 _errHandler.recover(this, re);
38157 }
38158 finally {
38159 exitRule();
38160 }
38161 return _localctx;
38162 }
38163
38164 public static class WithClauseContext extends ParserRuleContext {
38165 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
38166 public CteClauseSetContext cteClauseSet() {
38167 return getRuleContext(CteClauseSetContext.class,0);
38168 }
38169 public WithClauseContext(ParserRuleContext parent, int invokingState) {
38170 super(parent, invokingState);
38171 }
38172 @Override public int getRuleIndex() { return RULE_withClause; }
38173 @Override
38174 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38175 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithClause(this);
38176 else return visitor.visitChildren(this);
38177 }
38178 }
38179
38180 public final WithClauseContext withClause() throws RecognitionException {
38181 WithClauseContext _localctx = new WithClauseContext(_ctx, getState());
38182 enterRule(_localctx, 740, RULE_withClause);
38183 try {
38184 enterOuterAlt(_localctx, 1);
38185 {
38186 setState(5271);
38187 match(WITH);
38188 setState(5272);
38189 cteClauseSet();
38190 }
38191 }
38192 catch (RecognitionException re) {
38193 _localctx.exception = re;
38194 _errHandler.reportError(this, re);
38195 _errHandler.recover(this, re);
38196 }
38197 finally {
38198 exitRule();
38199 }
38200 return _localctx;
38201 }
38202
38203 public static class CteClauseSetContext extends ParserRuleContext {
38204 public List<CteClauseContext> cteClause() {
38205 return getRuleContexts(CteClauseContext.class);
38206 }
38207 public CteClauseContext cteClause(int i) {
38208 return getRuleContext(CteClauseContext.class,i);
38209 }
38210 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
38211 public TerminalNode COMMA_(int i) {
38212 return getToken(SQLServerStatementParser.COMMA_, i);
38213 }
38214 public CteClauseSetContext(ParserRuleContext parent, int invokingState) {
38215 super(parent, invokingState);
38216 }
38217 @Override public int getRuleIndex() { return RULE_cteClauseSet; }
38218 @Override
38219 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38220 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCteClauseSet(this);
38221 else return visitor.visitChildren(this);
38222 }
38223 }
38224
38225 public final CteClauseSetContext cteClauseSet() throws RecognitionException {
38226 CteClauseSetContext _localctx = new CteClauseSetContext(_ctx, getState());
38227 enterRule(_localctx, 742, RULE_cteClauseSet);
38228 int _la;
38229 try {
38230 enterOuterAlt(_localctx, 1);
38231 {
38232 setState(5274);
38233 cteClause();
38234 setState(5279);
38235 _errHandler.sync(this);
38236 _la = _input.LA(1);
38237 while (_la==COMMA_) {
38238 {
38239 {
38240 setState(5275);
38241 match(COMMA_);
38242 setState(5276);
38243 cteClause();
38244 }
38245 }
38246 setState(5281);
38247 _errHandler.sync(this);
38248 _la = _input.LA(1);
38249 }
38250 }
38251 }
38252 catch (RecognitionException re) {
38253 _localctx.exception = re;
38254 _errHandler.reportError(this, re);
38255 _errHandler.recover(this, re);
38256 }
38257 finally {
38258 exitRule();
38259 }
38260 return _localctx;
38261 }
38262
38263 public static class CteClauseContext extends ParserRuleContext {
38264 public IdentifierContext identifier() {
38265 return getRuleContext(IdentifierContext.class,0);
38266 }
38267 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
38268 public SubqueryContext subquery() {
38269 return getRuleContext(SubqueryContext.class,0);
38270 }
38271 public ColumnNamesContext columnNames() {
38272 return getRuleContext(ColumnNamesContext.class,0);
38273 }
38274 public CteClauseContext(ParserRuleContext parent, int invokingState) {
38275 super(parent, invokingState);
38276 }
38277 @Override public int getRuleIndex() { return RULE_cteClause; }
38278 @Override
38279 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38280 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCteClause(this);
38281 else return visitor.visitChildren(this);
38282 }
38283 }
38284
38285 public final CteClauseContext cteClause() throws RecognitionException {
38286 CteClauseContext _localctx = new CteClauseContext(_ctx, getState());
38287 enterRule(_localctx, 744, RULE_cteClause);
38288 int _la;
38289 try {
38290 enterOuterAlt(_localctx, 1);
38291 {
38292 setState(5282);
38293 identifier();
38294 setState(5284);
38295 _errHandler.sync(this);
38296 _la = _input.LA(1);
38297 if (_la==LP_) {
38298 {
38299 setState(5283);
38300 columnNames();
38301 }
38302 }
38303
38304 setState(5286);
38305 match(AS);
38306 setState(5287);
38307 subquery();
38308 }
38309 }
38310 catch (RecognitionException re) {
38311 _localctx.exception = re;
38312 _errHandler.reportError(this, re);
38313 _errHandler.recover(this, re);
38314 }
38315 finally {
38316 exitRule();
38317 }
38318 return _localctx;
38319 }
38320
38321 public static class OutputClauseContext extends ParserRuleContext {
38322 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
38323 public OutputWithColumnsContext outputWithColumns() {
38324 return getRuleContext(OutputWithColumnsContext.class,0);
38325 }
38326 public OutputWithAateriskContext outputWithAaterisk() {
38327 return getRuleContext(OutputWithAateriskContext.class,0);
38328 }
38329 public TerminalNode INTO() { return getToken(SQLServerStatementParser.INTO, 0); }
38330 public OutputTableNameContext outputTableName() {
38331 return getRuleContext(OutputTableNameContext.class,0);
38332 }
38333 public ColumnNamesContext columnNames() {
38334 return getRuleContext(ColumnNamesContext.class,0);
38335 }
38336 public OutputClauseContext(ParserRuleContext parent, int invokingState) {
38337 super(parent, invokingState);
38338 }
38339 @Override public int getRuleIndex() { return RULE_outputClause; }
38340 @Override
38341 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38342 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputClause(this);
38343 else return visitor.visitChildren(this);
38344 }
38345 }
38346
38347 public final OutputClauseContext outputClause() throws RecognitionException {
38348 OutputClauseContext _localctx = new OutputClauseContext(_ctx, getState());
38349 enterRule(_localctx, 746, RULE_outputClause);
38350 int _la;
38351 try {
38352 enterOuterAlt(_localctx, 1);
38353 {
38354 setState(5289);
38355 match(OUTPUT);
38356 setState(5292);
38357 _errHandler.sync(this);
38358 switch ( getInterpreter().adaptivePredict(_input,610,_ctx) ) {
38359 case 1:
38360 {
38361 setState(5290);
38362 outputWithColumns();
38363 }
38364 break;
38365 case 2:
38366 {
38367 setState(5291);
38368 outputWithAaterisk();
38369 }
38370 break;
38371 }
38372 setState(5299);
38373 _errHandler.sync(this);
38374 _la = _input.LA(1);
38375 if (_la==INTO) {
38376 {
38377 setState(5294);
38378 match(INTO);
38379 setState(5295);
38380 outputTableName();
38381 setState(5297);
38382 _errHandler.sync(this);
38383 _la = _input.LA(1);
38384 if (_la==LP_) {
38385 {
38386 setState(5296);
38387 columnNames();
38388 }
38389 }
38390
38391 }
38392 }
38393
38394 }
38395 }
38396 catch (RecognitionException re) {
38397 _localctx.exception = re;
38398 _errHandler.reportError(this, re);
38399 _errHandler.recover(this, re);
38400 }
38401 finally {
38402 exitRule();
38403 }
38404 return _localctx;
38405 }
38406
38407 public static class OutputWithColumnsContext extends ParserRuleContext {
38408 public List<OutputWithColumnContext> outputWithColumn() {
38409 return getRuleContexts(OutputWithColumnContext.class);
38410 }
38411 public OutputWithColumnContext outputWithColumn(int i) {
38412 return getRuleContext(OutputWithColumnContext.class,i);
38413 }
38414 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
38415 public TerminalNode COMMA_(int i) {
38416 return getToken(SQLServerStatementParser.COMMA_, i);
38417 }
38418 public OutputWithColumnsContext(ParserRuleContext parent, int invokingState) {
38419 super(parent, invokingState);
38420 }
38421 @Override public int getRuleIndex() { return RULE_outputWithColumns; }
38422 @Override
38423 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38424 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithColumns(this);
38425 else return visitor.visitChildren(this);
38426 }
38427 }
38428
38429 public final OutputWithColumnsContext outputWithColumns() throws RecognitionException {
38430 OutputWithColumnsContext _localctx = new OutputWithColumnsContext(_ctx, getState());
38431 enterRule(_localctx, 748, RULE_outputWithColumns);
38432 int _la;
38433 try {
38434 enterOuterAlt(_localctx, 1);
38435 {
38436 setState(5301);
38437 outputWithColumn();
38438 setState(5306);
38439 _errHandler.sync(this);
38440 _la = _input.LA(1);
38441 while (_la==COMMA_) {
38442 {
38443 {
38444 setState(5302);
38445 match(COMMA_);
38446 setState(5303);
38447 outputWithColumn();
38448 }
38449 }
38450 setState(5308);
38451 _errHandler.sync(this);
38452 _la = _input.LA(1);
38453 }
38454 }
38455 }
38456 catch (RecognitionException re) {
38457 _localctx.exception = re;
38458 _errHandler.reportError(this, re);
38459 _errHandler.recover(this, re);
38460 }
38461 finally {
38462 exitRule();
38463 }
38464 return _localctx;
38465 }
38466
38467 public static class OutputWithColumnContext extends ParserRuleContext {
38468 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
38469 public NameContext name() {
38470 return getRuleContext(NameContext.class,0);
38471 }
38472 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
38473 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
38474 public AliasContext alias() {
38475 return getRuleContext(AliasContext.class,0);
38476 }
38477 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
38478 public OutputWithColumnContext(ParserRuleContext parent, int invokingState) {
38479 super(parent, invokingState);
38480 }
38481 @Override public int getRuleIndex() { return RULE_outputWithColumn; }
38482 @Override
38483 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38484 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithColumn(this);
38485 else return visitor.visitChildren(this);
38486 }
38487 }
38488
38489 public final OutputWithColumnContext outputWithColumn() throws RecognitionException {
38490 OutputWithColumnContext _localctx = new OutputWithColumnContext(_ctx, getState());
38491 enterRule(_localctx, 750, RULE_outputWithColumn);
38492 int _la;
38493 try {
38494 enterOuterAlt(_localctx, 1);
38495 {
38496 setState(5309);
38497 _la = _input.LA(1);
38498 if ( !(_la==INSERTED || _la==DELETED) ) {
38499 _errHandler.recoverInline(this);
38500 }
38501 else {
38502 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38503 _errHandler.reportMatch(this);
38504 consume();
38505 }
38506 setState(5310);
38507 match(DOT_);
38508 setState(5311);
38509 name();
38510 setState(5316);
38511 _errHandler.sync(this);
38512 switch ( getInterpreter().adaptivePredict(_input,615,_ctx) ) {
38513 case 1:
38514 {
38515 setState(5313);
38516 _errHandler.sync(this);
38517 _la = _input.LA(1);
38518 if (_la==AS) {
38519 {
38520 setState(5312);
38521 match(AS);
38522 }
38523 }
38524
38525 setState(5315);
38526 alias();
38527 }
38528 break;
38529 }
38530 }
38531 }
38532 catch (RecognitionException re) {
38533 _localctx.exception = re;
38534 _errHandler.reportError(this, re);
38535 _errHandler.recover(this, re);
38536 }
38537 finally {
38538 exitRule();
38539 }
38540 return _localctx;
38541 }
38542
38543 public static class OutputWithAateriskContext extends ParserRuleContext {
38544 public TerminalNode DOT_ASTERISK_() { return getToken(SQLServerStatementParser.DOT_ASTERISK_, 0); }
38545 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
38546 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
38547 public OutputWithAateriskContext(ParserRuleContext parent, int invokingState) {
38548 super(parent, invokingState);
38549 }
38550 @Override public int getRuleIndex() { return RULE_outputWithAaterisk; }
38551 @Override
38552 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38553 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithAaterisk(this);
38554 else return visitor.visitChildren(this);
38555 }
38556 }
38557
38558 public final OutputWithAateriskContext outputWithAaterisk() throws RecognitionException {
38559 OutputWithAateriskContext _localctx = new OutputWithAateriskContext(_ctx, getState());
38560 enterRule(_localctx, 752, RULE_outputWithAaterisk);
38561 int _la;
38562 try {
38563 enterOuterAlt(_localctx, 1);
38564 {
38565 setState(5318);
38566 _la = _input.LA(1);
38567 if ( !(_la==INSERTED || _la==DELETED) ) {
38568 _errHandler.recoverInline(this);
38569 }
38570 else {
38571 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38572 _errHandler.reportMatch(this);
38573 consume();
38574 }
38575 setState(5319);
38576 match(DOT_ASTERISK_);
38577 }
38578 }
38579 catch (RecognitionException re) {
38580 _localctx.exception = re;
38581 _errHandler.reportError(this, re);
38582 _errHandler.recover(this, re);
38583 }
38584 finally {
38585 exitRule();
38586 }
38587 return _localctx;
38588 }
38589
38590 public static class OutputTableNameContext extends ParserRuleContext {
38591 public TerminalNode AT_() { return getToken(SQLServerStatementParser.AT_, 0); }
38592 public NameContext name() {
38593 return getRuleContext(NameContext.class,0);
38594 }
38595 public TableNameContext tableName() {
38596 return getRuleContext(TableNameContext.class,0);
38597 }
38598 public OutputTableNameContext(ParserRuleContext parent, int invokingState) {
38599 super(parent, invokingState);
38600 }
38601 @Override public int getRuleIndex() { return RULE_outputTableName; }
38602 @Override
38603 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38604 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputTableName(this);
38605 else return visitor.visitChildren(this);
38606 }
38607 }
38608
38609 public final OutputTableNameContext outputTableName() throws RecognitionException {
38610 OutputTableNameContext _localctx = new OutputTableNameContext(_ctx, getState());
38611 enterRule(_localctx, 754, RULE_outputTableName);
38612 try {
38613 setState(5324);
38614 _errHandler.sync(this);
38615 switch (_input.LA(1)) {
38616 case AT_:
38617 enterOuterAlt(_localctx, 1);
38618 {
38619 {
38620 setState(5321);
38621 match(AT_);
38622 setState(5322);
38623 name();
38624 }
38625 }
38626 break;
38627 case TRUNCATE:
38628 case SCHEMA:
38629 case COLUMNS:
38630 case PRECISION:
38631 case FUNCTION:
38632 case TRIGGER:
38633 case CAST:
38634 case SUBSTRING:
38635 case OFF:
38636 case GROUP:
38637 case LIMIT:
38638 case OFFSET:
38639 case SAVEPOINT:
38640 case BOOLEAN:
38641 case ARRAY:
38642 case DATE:
38643 case LOCALTIME:
38644 case LOCALTIMESTAMP:
38645 case QUARTER:
38646 case WEEK:
38647 case DAY:
38648 case SECOND:
38649 case MICROSECOND:
38650 case MAX:
38651 case MIN:
38652 case SUM:
38653 case COUNT:
38654 case AVG:
38655 case ENABLE:
38656 case DISABLE:
38657 case INSTANCE:
38658 case DO:
38659 case DEFINER:
38660 case SQL:
38661 case CASCADED:
38662 case LOCAL:
38663 case NEXT:
38664 case NAME:
38665 case INTEGER:
38666 case TYPE:
38667 case TEXT:
38668 case VIEWS:
38669 case READ_ONLY:
38670 case DATABASE:
38671 case RETURNS:
38672 case DATEPART:
38673 case PASSWORD:
38674 case BINARY:
38675 case HIDDEN_:
38676 case MOD:
38677 case PARTITION:
38678 case PARTITIONS:
38679 case TOP:
38680 case ROW:
38681 case ROWS:
38682 case XOR:
38683 case ALWAYS:
38684 case ROLE:
38685 case START:
38686 case ALGORITHM:
38687 case AUTO:
38688 case BLOCKERS:
38689 case CLUSTERED:
38690 case NONCLUSTERED:
38691 case COLUMNSTORE:
38692 case CONTENT:
38693 case YEARS:
38694 case MONTHS:
38695 case WEEKS:
38696 case DAYS:
38697 case MINUTES:
38698 case DENY:
38699 case DETERMINISTIC:
38700 case DISTRIBUTION:
38701 case DOCUMENT:
38702 case DURABILITY:
38703 case ENCRYPTED:
38704 case FILESTREAM:
38705 case FILETABLE:
38706 case FILLFACTOR:
38707 case FOLLOWING:
38708 case HASH:
38709 case HEAP:
38710 case INBOUND:
38711 case OUTBOUND:
38712 case UNBOUNDED:
38713 case INFINITE:
38714 case LOGIN:
38715 case MASKED:
38716 case MAXDOP:
38717 case MOVE:
38718 case NOCHECK:
38719 case OBJECT:
38720 case ONLINE:
38721 case OVER:
38722 case PAGE:
38723 case PAUSED:
38724 case PERIOD:
38725 case PERSISTED:
38726 case PRECEDING:
38727 case RANDOMIZED:
38728 case RANGE:
38729 case REBUILD:
38730 case REPLICATE:
38731 case REPLICATION:
38732 case RESUMABLE:
38733 case ROWGUIDCOL:
38734 case SAVE:
38735 case SELF:
38736 case SPARSE:
38737 case SWITCH:
38738 case TRAN:
38739 case TRANCOUNT:
38740 case CONTROL:
38741 case CONCAT:
38742 case TAKE:
38743 case OWNERSHIP:
38744 case DEFINITION:
38745 case APPLICATION:
38746 case ASSEMBLY:
38747 case SYMMETRIC:
38748 case ASYMMETRIC:
38749 case SERVER:
38750 case RECEIVE:
38751 case CHANGE:
38752 case TRACE:
38753 case TRACKING:
38754 case RESOURCES:
38755 case SETTINGS:
38756 case STATE:
38757 case AVAILABILITY:
38758 case CREDENTIAL:
38759 case ENDPOINT:
38760 case EVENT:
38761 case NOTIFICATION:
38762 case LINKED:
38763 case AUDIT:
38764 case DDL:
38765 case XML:
38766 case IMPERSONATE:
38767 case SECURABLES:
38768 case AUTHENTICATE:
38769 case EXTERNAL:
38770 case ACCESS:
38771 case ADMINISTER:
38772 case BULK:
38773 case OPERATIONS:
38774 case UNSAFE:
38775 case SHUTDOWN:
38776 case SCOPED:
38777 case CONFIGURATION:
38778 case DATASPACE:
38779 case SERVICE:
38780 case CERTIFICATE:
38781 case CONTRACT:
38782 case ENCRYPTION:
38783 case MASTER:
38784 case DATA:
38785 case SOURCE:
38786 case FILE:
38787 case FORMAT:
38788 case LIBRARY:
38789 case FULLTEXT:
38790 case MASK:
38791 case UNMASK:
38792 case MESSAGE:
38793 case REMOTE:
38794 case BINDING:
38795 case ROUTE:
38796 case SECURITY:
38797 case POLICY:
38798 case AGGREGATE:
38799 case QUEUE:
38800 case RULE:
38801 case SYNONYM:
38802 case COLLECTION:
38803 case SCRIPT:
38804 case KILL:
38805 case BACKUP:
38806 case LOG:
38807 case SHOWPLAN:
38808 case SUBSCRIBE:
38809 case QUERY:
38810 case NOTIFICATIONS:
38811 case CHECKPOINT:
38812 case SEQUENCE:
38813 case ABORT_AFTER_WAIT:
38814 case ALLOW_PAGE_LOCKS:
38815 case ALLOW_ROW_LOCKS:
38816 case ALL_SPARSE_COLUMNS:
38817 case BUCKET_COUNT:
38818 case COLUMNSTORE_ARCHIVE:
38819 case COLUMN_ENCRYPTION_KEY:
38820 case COLUMN_SET:
38821 case COMPRESSION_DELAY:
38822 case DATABASE_DEAULT:
38823 case DATA_COMPRESSION:
38824 case DATA_CONSISTENCY_CHECK:
38825 case ENCRYPTION_TYPE:
38826 case SYSTEM_TIME:
38827 case SYSTEM_VERSIONING:
38828 case TEXTIMAGE_ON:
38829 case WAIT_AT_LOW_PRIORITY:
38830 case STATISTICS_INCREMENTAL:
38831 case STATISTICS_NORECOMPUTE:
38832 case ROUND_ROBIN:
38833 case SCHEMA_AND_DATA:
38834 case SCHEMA_ONLY:
38835 case SORT_IN_TEMPDB:
38836 case IGNORE_DUP_KEY:
38837 case IMPLICIT_TRANSACTIONS:
38838 case MAX_DURATION:
38839 case MEMORY_OPTIMIZED:
38840 case MIGRATION_STATE:
38841 case PAD_INDEX:
38842 case REMOTE_DATA_ARCHIVE:
38843 case FILESTREAM_ON:
38844 case FILETABLE_COLLATE_FILENAME:
38845 case FILETABLE_DIRECTORY:
38846 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
38847 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
38848 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
38849 case FILTER_PREDICATE:
38850 case HISTORY_RETENTION_PERIOD:
38851 case HISTORY_TABLE:
38852 case LOCK_ESCALATION:
38853 case DROP_EXISTING:
38854 case ROW_NUMBER:
38855 case FIRST:
38856 case DATETIME2:
38857 case OUTPUT:
38858 case INSERTED:
38859 case DELETED:
38860 case FILENAME:
38861 case MAXSIZE:
38862 case FILEGROWTH:
38863 case UNLIMITED:
38864 case KB:
38865 case MB:
38866 case GB:
38867 case TB:
38868 case MEMORY_OPTIMIZED_DATA:
38869 case FILEGROUP:
38870 case NON_TRANSACTED_ACCESS:
38871 case DB_CHAINING:
38872 case TRUSTWORTHY:
38873 case FORWARD_ONLY:
38874 case KEYSET:
38875 case FAST_FORWARD:
38876 case SCROLL_LOCKS:
38877 case OPTIMISTIC:
38878 case TYPE_WARNING:
38879 case SCHEMABINDING:
38880 case CALLER:
38881 case OWNER:
38882 case SNAPSHOT:
38883 case REPEATABLE:
38884 case SERIALIZABLE:
38885 case NATIVE_COMPILATION:
38886 case VIEW_METADATA:
38887 case INSTEAD:
38888 case APPEND:
38889 case INCREMENT:
38890 case CACHE:
38891 case MINVALUE:
38892 case MAXVALUE:
38893 case RESTART:
38894 case LOB_COMPACTION:
38895 case COMPRESS_ALL_ROW_GROUPS:
38896 case REORGANIZE:
38897 case RESUME:
38898 case PAUSE:
38899 case ABORT:
38900 case ACCELERATED_DATABASE_RECOVERY:
38901 case PERSISTENT_VERSION_STORE_FILEGROUP:
38902 case IMMEDIATE:
38903 case NO_WAIT:
38904 case TARGET_RECOVERY_TIME:
38905 case SECONDS:
38906 case HONOR_BROKER_PRIORITY:
38907 case ERROR_BROKER_CONVERSATIONS:
38908 case NEW_BROKER:
38909 case DISABLE_BROKER:
38910 case ENABLE_BROKER:
38911 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
38912 case READ_COMMITTED_SNAPSHOT:
38913 case ALLOW_SNAPSHOT_ISOLATION:
38914 case RECURSIVE_TRIGGERS:
38915 case QUOTED_IDENTIFIER:
38916 case NUMERIC_ROUNDABORT:
38917 case CONCAT_NULL_YIELDS_NULL:
38918 case COMPATIBILITY_LEVEL:
38919 case ARITHABORT:
38920 case ANSI_WARNINGS:
38921 case ANSI_PADDING:
38922 case ANSI_NULLS:
38923 case ANSI_NULL_DEFAULT:
38924 case PAGE_VERIFY:
38925 case CHECKSUM:
38926 case TORN_PAGE_DETECTION:
38927 case BULK_LOGGED:
38928 case RECOVERY:
38929 case TOTAL_EXECUTION_CPU_TIME_MS:
38930 case TOTAL_COMPILE_CPU_TIME_MS:
38931 case STALE_CAPTURE_POLICY_THRESHOLD:
38932 case EXECUTION_COUNT:
38933 case QUERY_CAPTURE_POLICY:
38934 case WAIT_STATS_CAPTURE_MODE:
38935 case MAX_PLANS_PER_QUERY:
38936 case QUERY_CAPTURE_MODE:
38937 case SIZE_BASED_CLEANUP_MODE:
38938 case INTERVAL_LENGTH_MINUTES:
38939 case MAX_STORAGE_SIZE_MB:
38940 case DATA_FLUSH_INTERVAL_SECONDS:
38941 case CLEANUP_POLICY:
38942 case CUSTOM:
38943 case STALE_QUERY_THRESHOLD_DAYS:
38944 case OPERATION_MODE:
38945 case QUERY_STORE:
38946 case CURSOR_DEFAULT:
38947 case GLOBAL:
38948 case CURSOR_CLOSE_ON_COMMIT:
38949 case HOURS:
38950 case CHANGE_RETENTION:
38951 case AUTO_CLEANUP:
38952 case CHANGE_TRACKING:
38953 case AUTOMATIC_TUNING:
38954 case FORCE_LAST_GOOD_PLAN:
38955 case AUTO_UPDATE_STATISTICS_ASYNC:
38956 case AUTO_UPDATE_STATISTICS:
38957 case AUTO_SHRINK:
38958 case AUTO_CREATE_STATISTICS:
38959 case INCREMENTAL:
38960 case AUTO_CLOSE:
38961 case DATA_RETENTION:
38962 case TEMPORAL_HISTORY_RETENTION:
38963 case EDITION:
38964 case MIXED_PAGE_ALLOCATION:
38965 case DISABLED:
38966 case ALLOWED:
38967 case HADR:
38968 case MULTI_USER:
38969 case RESTRICTED_USER:
38970 case SINGLE_USER:
38971 case OFFLINE:
38972 case EMERGENCY:
38973 case SUSPEND:
38974 case DATE_CORRELATION_OPTIMIZATION:
38975 case ELASTIC_POOL:
38976 case SERVICE_OBJECTIVE:
38977 case DATABASE_NAME:
38978 case ALLOW_CONNECTIONS:
38979 case GEO:
38980 case NAMED:
38981 case DATEFIRST:
38982 case BACKUP_STORAGE_REDUNDANCY:
38983 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
38984 case SECONDARY:
38985 case FAILOVER:
38986 case DEFAULT_FULLTEXT_LANGUAGE:
38987 case DEFAULT_LANGUAGE:
38988 case INLINE:
38989 case NESTED_TRIGGERS:
38990 case TRANSFORM_NOISE_WORDS:
38991 case TWO_DIGIT_YEAR_CUTOFF:
38992 case PERSISTENT_LOG_BUFFER:
38993 case DIRECTORY_NAME:
38994 case DATEFORMAT:
38995 case DELAYED_DURABILITY:
38996 case AUTHORIZATION:
38997 case TRANSFER:
38998 case PROVIDER:
38999 case SEARCH:
39000 case MEMBER:
39001 case IDENTIFIER_:
39002 case DELIMITED_IDENTIFIER_:
39003 enterOuterAlt(_localctx, 2);
39004 {
39005 setState(5323);
39006 tableName();
39007 }
39008 break;
39009 default:
39010 throw new NoViableAltException(this);
39011 }
39012 }
39013 catch (RecognitionException re) {
39014 _localctx.exception = re;
39015 _errHandler.reportError(this, re);
39016 _errHandler.recover(this, re);
39017 }
39018 finally {
39019 exitRule();
39020 }
39021 return _localctx;
39022 }
39023
39024 public static class QueryHintContext extends ParserRuleContext {
39025 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
39026 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
39027 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
39028 public TerminalNode UNION() { return getToken(SQLServerStatementParser.UNION, 0); }
39029 public TerminalNode CONCAT() { return getToken(SQLServerStatementParser.CONCAT, 0); }
39030 public TerminalNode MERGE() { return getToken(SQLServerStatementParser.MERGE, 0); }
39031 public TerminalNode JOIN() { return getToken(SQLServerStatementParser.JOIN, 0); }
39032 public TerminalNode LOOP() { return getToken(SQLServerStatementParser.LOOP, 0); }
39033 public TerminalNode EXPAND() { return getToken(SQLServerStatementParser.EXPAND, 0); }
39034 public TerminalNode VIEWS() { return getToken(SQLServerStatementParser.VIEWS, 0); }
39035 public TerminalNode FAST() { return getToken(SQLServerStatementParser.FAST, 0); }
39036 public TerminalNode INT_NUM_() { return getToken(SQLServerStatementParser.INT_NUM_, 0); }
39037 public TerminalNode FORCE() { return getToken(SQLServerStatementParser.FORCE, 0); }
39038 public TerminalNode EXTERNALPUSHDOWN() { return getToken(SQLServerStatementParser.EXTERNALPUSHDOWN, 0); }
39039 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
39040 public TerminalNode SCALEOUTEXECUTION() { return getToken(SQLServerStatementParser.SCALEOUTEXECUTION, 0); }
39041 public TerminalNode IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX() { return getToken(SQLServerStatementParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX, 0); }
39042 public TerminalNode KEEP() { return getToken(SQLServerStatementParser.KEEP, 0); }
39043 public TerminalNode PLAN() { return getToken(SQLServerStatementParser.PLAN, 0); }
39044 public TerminalNode KEEPFIXED() { return getToken(SQLServerStatementParser.KEEPFIXED, 0); }
39045 public TerminalNode MAX_GRANT_PERCENT() { return getToken(SQLServerStatementParser.MAX_GRANT_PERCENT, 0); }
39046 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
39047 public TerminalNode EQ_(int i) {
39048 return getToken(SQLServerStatementParser.EQ_, i);
39049 }
39050 public TerminalNode DECIMAL_NUM_() { return getToken(SQLServerStatementParser.DECIMAL_NUM_, 0); }
39051 public TerminalNode MIN_GRANT_PERCENT() { return getToken(SQLServerStatementParser.MIN_GRANT_PERCENT, 0); }
39052 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
39053 public TerminalNode MAXRECURSION() { return getToken(SQLServerStatementParser.MAXRECURSION, 0); }
39054 public TerminalNode NO_PERFORMANCE_SPOOL() { return getToken(SQLServerStatementParser.NO_PERFORMANCE_SPOOL, 0); }
39055 public TerminalNode OPTIMIZE() { return getToken(SQLServerStatementParser.OPTIMIZE, 0); }
39056 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
39057 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
39058 public TerminalNode AT_() { return getToken(SQLServerStatementParser.AT_, 0); }
39059 public NameContext name() {
39060 return getRuleContext(NameContext.class,0);
39061 }
39062 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
39063 public List<TerminalNode> UNKNOWN() { return getTokens(SQLServerStatementParser.UNKNOWN); }
39064 public TerminalNode UNKNOWN(int i) {
39065 return getToken(SQLServerStatementParser.UNKNOWN, i);
39066 }
39067 public List<IdentifierContext> identifier() {
39068 return getRuleContexts(IdentifierContext.class);
39069 }
39070 public IdentifierContext identifier(int i) {
39071 return getRuleContext(IdentifierContext.class,i);
39072 }
39073 public TerminalNode PARAMETERIZATION() { return getToken(SQLServerStatementParser.PARAMETERIZATION, 0); }
39074 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
39075 public TerminalNode FORCED() { return getToken(SQLServerStatementParser.FORCED, 0); }
39076 public TerminalNode QUERYTRACEON() { return getToken(SQLServerStatementParser.QUERYTRACEON, 0); }
39077 public TerminalNode RECOMPILE() { return getToken(SQLServerStatementParser.RECOMPILE, 0); }
39078 public TerminalNode ROBUST() { return getToken(SQLServerStatementParser.ROBUST, 0); }
39079 public TerminalNode USE() { return getToken(SQLServerStatementParser.USE, 0); }
39080 public TerminalNode HINT() { return getToken(SQLServerStatementParser.HINT, 0); }
39081 public List<UseHitNameContext> useHitName() {
39082 return getRuleContexts(UseHitNameContext.class);
39083 }
39084 public UseHitNameContext useHitName(int i) {
39085 return getRuleContext(UseHitNameContext.class,i);
39086 }
39087 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
39088 public QueryHintContext(ParserRuleContext parent, int invokingState) {
39089 super(parent, invokingState);
39090 }
39091 @Override public int getRuleIndex() { return RULE_queryHint; }
39092 @Override
39093 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39094 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryHint(this);
39095 else return visitor.visitChildren(this);
39096 }
39097 }
39098
39099 public final QueryHintContext queryHint() throws RecognitionException {
39100 QueryHintContext _localctx = new QueryHintContext(_ctx, getState());
39101 enterRule(_localctx, 756, RULE_queryHint);
39102 int _la;
39103 try {
39104 setState(5396);
39105 _errHandler.sync(this);
39106 switch ( getInterpreter().adaptivePredict(_input,620,_ctx) ) {
39107 case 1:
39108 enterOuterAlt(_localctx, 1);
39109 {
39110 setState(5326);
39111 _la = _input.LA(1);
39112 if ( !(_la==ORDER || _la==HASH) ) {
39113 _errHandler.recoverInline(this);
39114 }
39115 else {
39116 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39117 _errHandler.reportMatch(this);
39118 consume();
39119 }
39120 setState(5327);
39121 match(GROUP);
39122 }
39123 break;
39124 case 2:
39125 enterOuterAlt(_localctx, 2);
39126 {
39127 setState(5328);
39128 _la = _input.LA(1);
39129 if ( !(_la==MERGE || _la==HASH || _la==CONCAT) ) {
39130 _errHandler.recoverInline(this);
39131 }
39132 else {
39133 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39134 _errHandler.reportMatch(this);
39135 consume();
39136 }
39137 setState(5329);
39138 match(UNION);
39139 }
39140 break;
39141 case 3:
39142 enterOuterAlt(_localctx, 3);
39143 {
39144 setState(5330);
39145 _la = _input.LA(1);
39146 if ( !(_la==MERGE || _la==LOOP || _la==HASH) ) {
39147 _errHandler.recoverInline(this);
39148 }
39149 else {
39150 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39151 _errHandler.reportMatch(this);
39152 consume();
39153 }
39154 setState(5331);
39155 match(JOIN);
39156 }
39157 break;
39158 case 4:
39159 enterOuterAlt(_localctx, 4);
39160 {
39161 setState(5332);
39162 match(EXPAND);
39163 setState(5333);
39164 match(VIEWS);
39165 }
39166 break;
39167 case 5:
39168 enterOuterAlt(_localctx, 5);
39169 {
39170 setState(5334);
39171 match(FAST);
39172 setState(5335);
39173 match(INT_NUM_);
39174 }
39175 break;
39176 case 6:
39177 enterOuterAlt(_localctx, 6);
39178 {
39179 setState(5336);
39180 match(FORCE);
39181 setState(5337);
39182 match(ORDER);
39183 }
39184 break;
39185 case 7:
39186 enterOuterAlt(_localctx, 7);
39187 {
39188 setState(5338);
39189 _la = _input.LA(1);
39190 if ( !(_la==DISABLE || _la==FORCE) ) {
39191 _errHandler.recoverInline(this);
39192 }
39193 else {
39194 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39195 _errHandler.reportMatch(this);
39196 consume();
39197 }
39198 setState(5339);
39199 match(EXTERNALPUSHDOWN);
39200 }
39201 break;
39202 case 8:
39203 enterOuterAlt(_localctx, 8);
39204 {
39205 setState(5340);
39206 _la = _input.LA(1);
39207 if ( !(_la==DISABLE || _la==FORCE) ) {
39208 _errHandler.recoverInline(this);
39209 }
39210 else {
39211 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39212 _errHandler.reportMatch(this);
39213 consume();
39214 }
39215 setState(5341);
39216 match(SCALEOUTEXECUTION);
39217 }
39218 break;
39219 case 9:
39220 enterOuterAlt(_localctx, 9);
39221 {
39222 setState(5342);
39223 match(IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX);
39224 }
39225 break;
39226 case 10:
39227 enterOuterAlt(_localctx, 10);
39228 {
39229 setState(5343);
39230 match(KEEP);
39231 setState(5344);
39232 match(PLAN);
39233 }
39234 break;
39235 case 11:
39236 enterOuterAlt(_localctx, 11);
39237 {
39238 setState(5345);
39239 match(KEEPFIXED);
39240 setState(5346);
39241 match(PLAN);
39242 }
39243 break;
39244 case 12:
39245 enterOuterAlt(_localctx, 12);
39246 {
39247 setState(5347);
39248 match(MAX_GRANT_PERCENT);
39249 setState(5348);
39250 match(EQ_);
39251 setState(5349);
39252 match(DECIMAL_NUM_);
39253 }
39254 break;
39255 case 13:
39256 enterOuterAlt(_localctx, 13);
39257 {
39258 setState(5350);
39259 match(MIN_GRANT_PERCENT);
39260 setState(5351);
39261 match(EQ_);
39262 setState(5352);
39263 match(DECIMAL_NUM_);
39264 }
39265 break;
39266 case 14:
39267 enterOuterAlt(_localctx, 14);
39268 {
39269 setState(5353);
39270 match(MAXDOP);
39271 setState(5354);
39272 match(INT_NUM_);
39273 }
39274 break;
39275 case 15:
39276 enterOuterAlt(_localctx, 15);
39277 {
39278 setState(5355);
39279 match(MAXRECURSION);
39280 setState(5356);
39281 match(INT_NUM_);
39282 }
39283 break;
39284 case 16:
39285 enterOuterAlt(_localctx, 16);
39286 {
39287 setState(5357);
39288 match(NO_PERFORMANCE_SPOOL);
39289 }
39290 break;
39291 case 17:
39292 enterOuterAlt(_localctx, 17);
39293 {
39294 setState(5358);
39295 match(OPTIMIZE);
39296 setState(5359);
39297 match(FOR);
39298 setState(5360);
39299 match(LP_);
39300 setState(5361);
39301 match(AT_);
39302 setState(5362);
39303 name();
39304 setState(5368);
39305 _errHandler.sync(this);
39306 _la = _input.LA(1);
39307 while (_la==EQ_ || _la==UNKNOWN) {
39308 {
39309 setState(5366);
39310 _errHandler.sync(this);
39311 switch (_input.LA(1)) {
39312 case UNKNOWN:
39313 {
39314 setState(5363);
39315 match(UNKNOWN);
39316 }
39317 break;
39318 case EQ_:
39319 {
39320 setState(5364);
39321 match(EQ_);
39322 setState(5365);
39323 identifier();
39324 }
39325 break;
39326 default:
39327 throw new NoViableAltException(this);
39328 }
39329 }
39330 setState(5370);
39331 _errHandler.sync(this);
39332 _la = _input.LA(1);
39333 }
39334 setState(5371);
39335 match(RP_);
39336 }
39337 break;
39338 case 18:
39339 enterOuterAlt(_localctx, 18);
39340 {
39341 setState(5373);
39342 match(OPTIMIZE);
39343 setState(5374);
39344 match(FOR);
39345 setState(5375);
39346 match(UNKNOWN);
39347 }
39348 break;
39349 case 19:
39350 enterOuterAlt(_localctx, 19);
39351 {
39352 setState(5376);
39353 match(PARAMETERIZATION);
39354 setState(5377);
39355 _la = _input.LA(1);
39356 if ( !(_la==SIMPLE || _la==FORCED) ) {
39357 _errHandler.recoverInline(this);
39358 }
39359 else {
39360 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39361 _errHandler.reportMatch(this);
39362 consume();
39363 }
39364 }
39365 break;
39366 case 20:
39367 enterOuterAlt(_localctx, 20);
39368 {
39369 setState(5378);
39370 match(QUERYTRACEON);
39371 setState(5379);
39372 match(INT_NUM_);
39373 }
39374 break;
39375 case 21:
39376 enterOuterAlt(_localctx, 21);
39377 {
39378 setState(5380);
39379 match(RECOMPILE);
39380 }
39381 break;
39382 case 22:
39383 enterOuterAlt(_localctx, 22);
39384 {
39385 setState(5381);
39386 match(ROBUST);
39387 setState(5382);
39388 match(PLAN);
39389 }
39390 break;
39391 case 23:
39392 enterOuterAlt(_localctx, 23);
39393 {
39394 setState(5383);
39395 match(USE);
39396 setState(5384);
39397 match(HINT);
39398 setState(5385);
39399 match(LP_);
39400 setState(5389);
39401 _errHandler.sync(this);
39402 _la = _input.LA(1);
39403 while (_la==SQ_) {
39404 {
39405 {
39406 setState(5386);
39407 useHitName();
39408 }
39409 }
39410 setState(5391);
39411 _errHandler.sync(this);
39412 _la = _input.LA(1);
39413 }
39414 setState(5392);
39415 match(RP_);
39416 }
39417 break;
39418 case 24:
39419 enterOuterAlt(_localctx, 24);
39420 {
39421 setState(5393);
39422 match(USE);
39423 setState(5394);
39424 match(PLAN);
39425 setState(5395);
39426 match(NCHAR_TEXT);
39427 }
39428 break;
39429 }
39430 }
39431 catch (RecognitionException re) {
39432 _localctx.exception = re;
39433 _errHandler.reportError(this, re);
39434 _errHandler.recover(this, re);
39435 }
39436 finally {
39437 exitRule();
39438 }
39439 return _localctx;
39440 }
39441
39442 public static class UseHitNameContext extends ParserRuleContext {
39443 public List<TerminalNode> SQ_() { return getTokens(SQLServerStatementParser.SQ_); }
39444 public TerminalNode SQ_(int i) {
39445 return getToken(SQLServerStatementParser.SQ_, i);
39446 }
39447 public TerminalNode ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS() { return getToken(SQLServerStatementParser.ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS, 0); }
39448 public TerminalNode ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES() { return getToken(SQLServerStatementParser.ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES, 0); }
39449 public TerminalNode DISABLE_BATCH_MODE_ADAPTIVE_JOINS() { return getToken(SQLServerStatementParser.DISABLE_BATCH_MODE_ADAPTIVE_JOINS, 0); }
39450 public TerminalNode DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK() { return getToken(SQLServerStatementParser.DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK, 0); }
39451 public TerminalNode DISABLE_DEFERRED_COMPILATION_TV() { return getToken(SQLServerStatementParser.DISABLE_DEFERRED_COMPILATION_TV, 0); }
39452 public TerminalNode DISABLE_INTERLEAVED_EXECUTION_TVF() { return getToken(SQLServerStatementParser.DISABLE_INTERLEAVED_EXECUTION_TVF, 0); }
39453 public TerminalNode DISABLE_OPTIMIZED_NESTED_LOOP() { return getToken(SQLServerStatementParser.DISABLE_OPTIMIZED_NESTED_LOOP, 0); }
39454 public TerminalNode DISABLE_OPTIMIZER_ROWGOAL() { return getToken(SQLServerStatementParser.DISABLE_OPTIMIZER_ROWGOAL, 0); }
39455 public TerminalNode DISABLE_PARAMETER_SNIFFING() { return getToken(SQLServerStatementParser.DISABLE_PARAMETER_SNIFFING, 0); }
39456 public TerminalNode DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK() { return getToken(SQLServerStatementParser.DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK, 0); }
39457 public TerminalNode DISABLE_TSQL_SCALAR_UDF_INLINING() { return getToken(SQLServerStatementParser.DISABLE_TSQL_SCALAR_UDF_INLINING, 0); }
39458 public TerminalNode DISALLOW_BATCH_MODE() { return getToken(SQLServerStatementParser.DISALLOW_BATCH_MODE, 0); }
39459 public TerminalNode ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS() { return getToken(SQLServerStatementParser.ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS, 0); }
39460 public TerminalNode ENABLE_QUERY_OPTIMIZER_HOTFIXES() { return getToken(SQLServerStatementParser.ENABLE_QUERY_OPTIMIZER_HOTFIXES, 0); }
39461 public TerminalNode FORCE_DEFAULT_CARDINALITY_ESTIMATION() { return getToken(SQLServerStatementParser.FORCE_DEFAULT_CARDINALITY_ESTIMATION, 0); }
39462 public TerminalNode FORCE_LEGACY_CARDINALITY_ESTIMATION() { return getToken(SQLServerStatementParser.FORCE_LEGACY_CARDINALITY_ESTIMATION, 0); }
39463 public TerminalNode QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n() { return getToken(SQLServerStatementParser.QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n, 0); }
39464 public TerminalNode QUERY_PLAN_PROFILE() { return getToken(SQLServerStatementParser.QUERY_PLAN_PROFILE, 0); }
39465 public UseHitNameContext(ParserRuleContext parent, int invokingState) {
39466 super(parent, invokingState);
39467 }
39468 @Override public int getRuleIndex() { return RULE_useHitName; }
39469 @Override
39470 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39471 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUseHitName(this);
39472 else return visitor.visitChildren(this);
39473 }
39474 }
39475
39476 public final UseHitNameContext useHitName() throws RecognitionException {
39477 UseHitNameContext _localctx = new UseHitNameContext(_ctx, getState());
39478 enterRule(_localctx, 758, RULE_useHitName);
39479 try {
39480 setState(5452);
39481 _errHandler.sync(this);
39482 switch ( getInterpreter().adaptivePredict(_input,621,_ctx) ) {
39483 case 1:
39484 enterOuterAlt(_localctx, 1);
39485 {
39486 setState(5398);
39487 match(SQ_);
39488 setState(5399);
39489 match(ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS);
39490 setState(5400);
39491 match(SQ_);
39492 }
39493 break;
39494 case 2:
39495 enterOuterAlt(_localctx, 2);
39496 {
39497 setState(5401);
39498 match(SQ_);
39499 setState(5402);
39500 match(ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES);
39501 setState(5403);
39502 match(SQ_);
39503 }
39504 break;
39505 case 3:
39506 enterOuterAlt(_localctx, 3);
39507 {
39508 setState(5404);
39509 match(SQ_);
39510 setState(5405);
39511 match(DISABLE_BATCH_MODE_ADAPTIVE_JOINS);
39512 setState(5406);
39513 match(SQ_);
39514 }
39515 break;
39516 case 4:
39517 enterOuterAlt(_localctx, 4);
39518 {
39519 setState(5407);
39520 match(SQ_);
39521 setState(5408);
39522 match(DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK);
39523 setState(5409);
39524 match(SQ_);
39525 }
39526 break;
39527 case 5:
39528 enterOuterAlt(_localctx, 5);
39529 {
39530 setState(5410);
39531 match(SQ_);
39532 setState(5411);
39533 match(DISABLE_DEFERRED_COMPILATION_TV);
39534 setState(5412);
39535 match(SQ_);
39536 }
39537 break;
39538 case 6:
39539 enterOuterAlt(_localctx, 6);
39540 {
39541 setState(5413);
39542 match(SQ_);
39543 setState(5414);
39544 match(DISABLE_INTERLEAVED_EXECUTION_TVF);
39545 setState(5415);
39546 match(SQ_);
39547 }
39548 break;
39549 case 7:
39550 enterOuterAlt(_localctx, 7);
39551 {
39552 setState(5416);
39553 match(SQ_);
39554 setState(5417);
39555 match(DISABLE_OPTIMIZED_NESTED_LOOP);
39556 setState(5418);
39557 match(SQ_);
39558 }
39559 break;
39560 case 8:
39561 enterOuterAlt(_localctx, 8);
39562 {
39563 setState(5419);
39564 match(SQ_);
39565 setState(5420);
39566 match(DISABLE_OPTIMIZER_ROWGOAL);
39567 setState(5421);
39568 match(SQ_);
39569 }
39570 break;
39571 case 9:
39572 enterOuterAlt(_localctx, 9);
39573 {
39574 setState(5422);
39575 match(SQ_);
39576 setState(5423);
39577 match(DISABLE_PARAMETER_SNIFFING);
39578 setState(5424);
39579 match(SQ_);
39580 }
39581 break;
39582 case 10:
39583 enterOuterAlt(_localctx, 10);
39584 {
39585 setState(5425);
39586 match(SQ_);
39587 setState(5426);
39588 match(DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK);
39589 setState(5427);
39590 match(SQ_);
39591 }
39592 break;
39593 case 11:
39594 enterOuterAlt(_localctx, 11);
39595 {
39596 setState(5428);
39597 match(SQ_);
39598 setState(5429);
39599 match(DISABLE_TSQL_SCALAR_UDF_INLINING);
39600 setState(5430);
39601 match(SQ_);
39602 }
39603 break;
39604 case 12:
39605 enterOuterAlt(_localctx, 12);
39606 {
39607 setState(5431);
39608 match(SQ_);
39609 setState(5432);
39610 match(DISALLOW_BATCH_MODE);
39611 setState(5433);
39612 match(SQ_);
39613 }
39614 break;
39615 case 13:
39616 enterOuterAlt(_localctx, 13);
39617 {
39618 setState(5434);
39619 match(SQ_);
39620 setState(5435);
39621 match(ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS);
39622 setState(5436);
39623 match(SQ_);
39624 }
39625 break;
39626 case 14:
39627 enterOuterAlt(_localctx, 14);
39628 {
39629 setState(5437);
39630 match(SQ_);
39631 setState(5438);
39632 match(ENABLE_QUERY_OPTIMIZER_HOTFIXES);
39633 setState(5439);
39634 match(SQ_);
39635 }
39636 break;
39637 case 15:
39638 enterOuterAlt(_localctx, 15);
39639 {
39640 setState(5440);
39641 match(SQ_);
39642 setState(5441);
39643 match(FORCE_DEFAULT_CARDINALITY_ESTIMATION);
39644 setState(5442);
39645 match(SQ_);
39646 }
39647 break;
39648 case 16:
39649 enterOuterAlt(_localctx, 16);
39650 {
39651 setState(5443);
39652 match(SQ_);
39653 setState(5444);
39654 match(FORCE_LEGACY_CARDINALITY_ESTIMATION);
39655 setState(5445);
39656 match(SQ_);
39657 }
39658 break;
39659 case 17:
39660 enterOuterAlt(_localctx, 17);
39661 {
39662 setState(5446);
39663 match(SQ_);
39664 setState(5447);
39665 match(QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n);
39666 setState(5448);
39667 match(SQ_);
39668 }
39669 break;
39670 case 18:
39671 enterOuterAlt(_localctx, 18);
39672 {
39673 setState(5449);
39674 match(SQ_);
39675 setState(5450);
39676 match(QUERY_PLAN_PROFILE);
39677 setState(5451);
39678 match(SQ_);
39679 }
39680 break;
39681 }
39682 }
39683 catch (RecognitionException re) {
39684 _localctx.exception = re;
39685 _errHandler.reportError(this, re);
39686 _errHandler.recover(this, re);
39687 }
39688 finally {
39689 exitRule();
39690 }
39691 return _localctx;
39692 }
39693
39694 public static class ForClauseContext extends ParserRuleContext {
39695 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
39696 public TerminalNode BROWSE() { return getToken(SQLServerStatementParser.BROWSE, 0); }
39697 public ForXmlClauseContext forXmlClause() {
39698 return getRuleContext(ForXmlClauseContext.class,0);
39699 }
39700 public ForJsonClauseContext forJsonClause() {
39701 return getRuleContext(ForJsonClauseContext.class,0);
39702 }
39703 public ForClauseContext(ParserRuleContext parent, int invokingState) {
39704 super(parent, invokingState);
39705 }
39706 @Override public int getRuleIndex() { return RULE_forClause; }
39707 @Override
39708 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39709 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForClause(this);
39710 else return visitor.visitChildren(this);
39711 }
39712 }
39713
39714 public final ForClauseContext forClause() throws RecognitionException {
39715 ForClauseContext _localctx = new ForClauseContext(_ctx, getState());
39716 enterRule(_localctx, 760, RULE_forClause);
39717 try {
39718 enterOuterAlt(_localctx, 1);
39719 {
39720 setState(5454);
39721 match(FOR);
39722 setState(5458);
39723 _errHandler.sync(this);
39724 switch (_input.LA(1)) {
39725 case BROWSE:
39726 {
39727 setState(5455);
39728 match(BROWSE);
39729 }
39730 break;
39731 case XML:
39732 {
39733 setState(5456);
39734 forXmlClause();
39735 }
39736 break;
39737 case JSON:
39738 {
39739 setState(5457);
39740 forJsonClause();
39741 }
39742 break;
39743 default:
39744 throw new NoViableAltException(this);
39745 }
39746 }
39747 }
39748 catch (RecognitionException re) {
39749 _localctx.exception = re;
39750 _errHandler.reportError(this, re);
39751 _errHandler.recover(this, re);
39752 }
39753 finally {
39754 exitRule();
39755 }
39756 return _localctx;
39757 }
39758
39759 public static class ForXmlClauseContext extends ParserRuleContext {
39760 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
39761 public TerminalNode EXPLICIT() { return getToken(SQLServerStatementParser.EXPLICIT, 0); }
39762 public TerminalNode PATH() { return getToken(SQLServerStatementParser.PATH, 0); }
39763 public TerminalNode RAW() { return getToken(SQLServerStatementParser.RAW, 0); }
39764 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
39765 public CommonDirectivesForXmlContext commonDirectivesForXml() {
39766 return getRuleContext(CommonDirectivesForXmlContext.class,0);
39767 }
39768 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
39769 public TerminalNode LP_(int i) {
39770 return getToken(SQLServerStatementParser.LP_, i);
39771 }
39772 public List<StringLiteralsContext> stringLiterals() {
39773 return getRuleContexts(StringLiteralsContext.class);
39774 }
39775 public StringLiteralsContext stringLiterals(int i) {
39776 return getRuleContext(StringLiteralsContext.class,i);
39777 }
39778 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
39779 public TerminalNode RP_(int i) {
39780 return getToken(SQLServerStatementParser.RP_, i);
39781 }
39782 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
39783 public TerminalNode COMMA_(int i) {
39784 return getToken(SQLServerStatementParser.COMMA_, i);
39785 }
39786 public TerminalNode ELEMENTS() { return getToken(SQLServerStatementParser.ELEMENTS, 0); }
39787 public TerminalNode XMLDATA() { return getToken(SQLServerStatementParser.XMLDATA, 0); }
39788 public TerminalNode XMLSCHEMA() { return getToken(SQLServerStatementParser.XMLSCHEMA, 0); }
39789 public TerminalNode XSINIL() { return getToken(SQLServerStatementParser.XSINIL, 0); }
39790 public TerminalNode ABSENT() { return getToken(SQLServerStatementParser.ABSENT, 0); }
39791 public ForXmlClauseContext(ParserRuleContext parent, int invokingState) {
39792 super(parent, invokingState);
39793 }
39794 @Override public int getRuleIndex() { return RULE_forXmlClause; }
39795 @Override
39796 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39797 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForXmlClause(this);
39798 else return visitor.visitChildren(this);
39799 }
39800 }
39801
39802 public final ForXmlClauseContext forXmlClause() throws RecognitionException {
39803 ForXmlClauseContext _localctx = new ForXmlClauseContext(_ctx, getState());
39804 enterRule(_localctx, 762, RULE_forXmlClause);
39805 int _la;
39806 try {
39807 enterOuterAlt(_localctx, 1);
39808 {
39809 setState(5460);
39810 match(XML);
39811 setState(5519);
39812 _errHandler.sync(this);
39813 switch (_input.LA(1)) {
39814 case AUTO:
39815 case RAW:
39816 {
39817 setState(5469);
39818 _errHandler.sync(this);
39819 switch (_input.LA(1)) {
39820 case RAW:
39821 {
39822 setState(5461);
39823 match(RAW);
39824 setState(5466);
39825 _errHandler.sync(this);
39826 _la = _input.LA(1);
39827 if (_la==LP_) {
39828 {
39829 setState(5462);
39830 match(LP_);
39831 setState(5463);
39832 stringLiterals();
39833 setState(5464);
39834 match(RP_);
39835 }
39836 }
39837
39838 }
39839 break;
39840 case AUTO:
39841 {
39842 setState(5468);
39843 match(AUTO);
39844 }
39845 break;
39846 default:
39847 throw new NoViableAltException(this);
39848 }
39849 setState(5492);
39850 _errHandler.sync(this);
39851 switch ( getInterpreter().adaptivePredict(_input,630,_ctx) ) {
39852 case 1:
39853 {
39854 setState(5471);
39855 commonDirectivesForXml();
39856 setState(5483);
39857 _errHandler.sync(this);
39858 switch ( getInterpreter().adaptivePredict(_input,627,_ctx) ) {
39859 case 1:
39860 {
39861 setState(5472);
39862 match(COMMA_);
39863 setState(5481);
39864 _errHandler.sync(this);
39865 switch (_input.LA(1)) {
39866 case XMLDATA:
39867 {
39868 setState(5473);
39869 match(XMLDATA);
39870 }
39871 break;
39872 case XMLSCHEMA:
39873 {
39874 setState(5474);
39875 match(XMLSCHEMA);
39876 setState(5479);
39877 _errHandler.sync(this);
39878 _la = _input.LA(1);
39879 if (_la==LP_) {
39880 {
39881 setState(5475);
39882 match(LP_);
39883 setState(5476);
39884 stringLiterals();
39885 setState(5477);
39886 match(RP_);
39887 }
39888 }
39889
39890 }
39891 break;
39892 default:
39893 throw new NoViableAltException(this);
39894 }
39895 }
39896 break;
39897 }
39898 setState(5490);
39899 _errHandler.sync(this);
39900 _la = _input.LA(1);
39901 if (_la==COMMA_) {
39902 {
39903 setState(5485);
39904 match(COMMA_);
39905 setState(5486);
39906 match(ELEMENTS);
39907 setState(5488);
39908 _errHandler.sync(this);
39909 _la = _input.LA(1);
39910 if (_la==XSINIL || _la==ABSENT) {
39911 {
39912 setState(5487);
39913 _la = _input.LA(1);
39914 if ( !(_la==XSINIL || _la==ABSENT) ) {
39915 _errHandler.recoverInline(this);
39916 }
39917 else {
39918 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39919 _errHandler.reportMatch(this);
39920 consume();
39921 }
39922 }
39923 }
39924
39925 }
39926 }
39927
39928 }
39929 break;
39930 }
39931 }
39932 break;
39933 case EXPLICIT:
39934 {
39935 setState(5494);
39936 match(EXPLICIT);
39937 setState(5500);
39938 _errHandler.sync(this);
39939 switch ( getInterpreter().adaptivePredict(_input,632,_ctx) ) {
39940 case 1:
39941 {
39942 setState(5495);
39943 commonDirectivesForXml();
39944 setState(5498);
39945 _errHandler.sync(this);
39946 _la = _input.LA(1);
39947 if (_la==COMMA_) {
39948 {
39949 setState(5496);
39950 match(COMMA_);
39951 setState(5497);
39952 match(XMLDATA);
39953 }
39954 }
39955
39956 }
39957 break;
39958 }
39959 }
39960 break;
39961 case PATH:
39962 {
39963 setState(5502);
39964 match(PATH);
39965 setState(5507);
39966 _errHandler.sync(this);
39967 _la = _input.LA(1);
39968 if (_la==LP_) {
39969 {
39970 setState(5503);
39971 match(LP_);
39972 setState(5504);
39973 stringLiterals();
39974 setState(5505);
39975 match(RP_);
39976 }
39977 }
39978
39979 setState(5517);
39980 _errHandler.sync(this);
39981 switch ( getInterpreter().adaptivePredict(_input,636,_ctx) ) {
39982 case 1:
39983 {
39984 setState(5509);
39985 commonDirectivesForXml();
39986 setState(5515);
39987 _errHandler.sync(this);
39988 _la = _input.LA(1);
39989 if (_la==COMMA_) {
39990 {
39991 setState(5510);
39992 match(COMMA_);
39993 setState(5511);
39994 match(ELEMENTS);
39995 setState(5513);
39996 _errHandler.sync(this);
39997 _la = _input.LA(1);
39998 if (_la==XSINIL || _la==ABSENT) {
39999 {
40000 setState(5512);
40001 _la = _input.LA(1);
40002 if ( !(_la==XSINIL || _la==ABSENT) ) {
40003 _errHandler.recoverInline(this);
40004 }
40005 else {
40006 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40007 _errHandler.reportMatch(this);
40008 consume();
40009 }
40010 }
40011 }
40012
40013 }
40014 }
40015
40016 }
40017 break;
40018 }
40019 }
40020 break;
40021 default:
40022 throw new NoViableAltException(this);
40023 }
40024 }
40025 }
40026 catch (RecognitionException re) {
40027 _localctx.exception = re;
40028 _errHandler.reportError(this, re);
40029 _errHandler.recover(this, re);
40030 }
40031 finally {
40032 exitRule();
40033 }
40034 return _localctx;
40035 }
40036
40037 public static class CommonDirectivesForXmlContext extends ParserRuleContext {
40038 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40039 public TerminalNode COMMA_(int i) {
40040 return getToken(SQLServerStatementParser.COMMA_, i);
40041 }
40042 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
40043 public TerminalNode BASE64() { return getToken(SQLServerStatementParser.BASE64, 0); }
40044 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
40045 public TerminalNode ROOT() { return getToken(SQLServerStatementParser.ROOT, 0); }
40046 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
40047 public StringLiteralsContext stringLiterals() {
40048 return getRuleContext(StringLiteralsContext.class,0);
40049 }
40050 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
40051 public CommonDirectivesForXmlContext(ParserRuleContext parent, int invokingState) {
40052 super(parent, invokingState);
40053 }
40054 @Override public int getRuleIndex() { return RULE_commonDirectivesForXml; }
40055 @Override
40056 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40057 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommonDirectivesForXml(this);
40058 else return visitor.visitChildren(this);
40059 }
40060 }
40061
40062 public final CommonDirectivesForXmlContext commonDirectivesForXml() throws RecognitionException {
40063 CommonDirectivesForXmlContext _localctx = new CommonDirectivesForXmlContext(_ctx, getState());
40064 enterRule(_localctx, 764, RULE_commonDirectivesForXml);
40065 int _la;
40066 try {
40067 enterOuterAlt(_localctx, 1);
40068 {
40069 setState(5524);
40070 _errHandler.sync(this);
40071 switch ( getInterpreter().adaptivePredict(_input,638,_ctx) ) {
40072 case 1:
40073 {
40074 setState(5521);
40075 match(COMMA_);
40076 setState(5522);
40077 match(BINARY);
40078 setState(5523);
40079 match(BASE64);
40080 }
40081 break;
40082 }
40083 setState(5528);
40084 _errHandler.sync(this);
40085 switch ( getInterpreter().adaptivePredict(_input,639,_ctx) ) {
40086 case 1:
40087 {
40088 setState(5526);
40089 match(COMMA_);
40090 setState(5527);
40091 match(TYPE);
40092 }
40093 break;
40094 }
40095 setState(5538);
40096 _errHandler.sync(this);
40097 switch ( getInterpreter().adaptivePredict(_input,641,_ctx) ) {
40098 case 1:
40099 {
40100 setState(5530);
40101 match(COMMA_);
40102 setState(5531);
40103 match(ROOT);
40104 setState(5536);
40105 _errHandler.sync(this);
40106 _la = _input.LA(1);
40107 if (_la==LP_) {
40108 {
40109 setState(5532);
40110 match(LP_);
40111 setState(5533);
40112 stringLiterals();
40113 setState(5534);
40114 match(RP_);
40115 }
40116 }
40117
40118 }
40119 break;
40120 }
40121 }
40122 }
40123 catch (RecognitionException re) {
40124 _localctx.exception = re;
40125 _errHandler.reportError(this, re);
40126 _errHandler.recover(this, re);
40127 }
40128 finally {
40129 exitRule();
40130 }
40131 return _localctx;
40132 }
40133
40134 public static class ForJsonClauseContext extends ParserRuleContext {
40135 public TerminalNode JSON() { return getToken(SQLServerStatementParser.JSON, 0); }
40136 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
40137 public TerminalNode PATH() { return getToken(SQLServerStatementParser.PATH, 0); }
40138 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40139 public TerminalNode COMMA_(int i) {
40140 return getToken(SQLServerStatementParser.COMMA_, i);
40141 }
40142 public TerminalNode ROOT() { return getToken(SQLServerStatementParser.ROOT, 0); }
40143 public TerminalNode INCLUDE_NULL_VALUES() { return getToken(SQLServerStatementParser.INCLUDE_NULL_VALUES, 0); }
40144 public TerminalNode WITHOUT_ARRAY_WRAPPER() { return getToken(SQLServerStatementParser.WITHOUT_ARRAY_WRAPPER, 0); }
40145 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
40146 public StringLiteralsContext stringLiterals() {
40147 return getRuleContext(StringLiteralsContext.class,0);
40148 }
40149 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
40150 public ForJsonClauseContext(ParserRuleContext parent, int invokingState) {
40151 super(parent, invokingState);
40152 }
40153 @Override public int getRuleIndex() { return RULE_forJsonClause; }
40154 @Override
40155 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40156 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForJsonClause(this);
40157 else return visitor.visitChildren(this);
40158 }
40159 }
40160
40161 public final ForJsonClauseContext forJsonClause() throws RecognitionException {
40162 ForJsonClauseContext _localctx = new ForJsonClauseContext(_ctx, getState());
40163 enterRule(_localctx, 766, RULE_forJsonClause);
40164 int _la;
40165 try {
40166 enterOuterAlt(_localctx, 1);
40167 {
40168 setState(5540);
40169 match(JSON);
40170 {
40171 setState(5541);
40172 _la = _input.LA(1);
40173 if ( !(_la==AUTO || _la==PATH) ) {
40174 _errHandler.recoverInline(this);
40175 }
40176 else {
40177 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40178 _errHandler.reportMatch(this);
40179 consume();
40180 }
40181 setState(5560);
40182 _errHandler.sync(this);
40183 switch ( getInterpreter().adaptivePredict(_input,646,_ctx) ) {
40184 case 1:
40185 {
40186 setState(5550);
40187 _errHandler.sync(this);
40188 switch ( getInterpreter().adaptivePredict(_input,643,_ctx) ) {
40189 case 1:
40190 {
40191 setState(5542);
40192 match(COMMA_);
40193 setState(5543);
40194 match(ROOT);
40195 setState(5548);
40196 _errHandler.sync(this);
40197 _la = _input.LA(1);
40198 if (_la==LP_) {
40199 {
40200 setState(5544);
40201 match(LP_);
40202 setState(5545);
40203 stringLiterals();
40204 setState(5546);
40205 match(RP_);
40206 }
40207 }
40208
40209 }
40210 break;
40211 }
40212 setState(5554);
40213 _errHandler.sync(this);
40214 switch ( getInterpreter().adaptivePredict(_input,644,_ctx) ) {
40215 case 1:
40216 {
40217 setState(5552);
40218 match(COMMA_);
40219 setState(5553);
40220 match(INCLUDE_NULL_VALUES);
40221 }
40222 break;
40223 }
40224 setState(5558);
40225 _errHandler.sync(this);
40226 _la = _input.LA(1);
40227 if (_la==COMMA_) {
40228 {
40229 setState(5556);
40230 match(COMMA_);
40231 setState(5557);
40232 match(WITHOUT_ARRAY_WRAPPER);
40233 }
40234 }
40235
40236 }
40237 break;
40238 }
40239 }
40240 }
40241 }
40242 catch (RecognitionException re) {
40243 _localctx.exception = re;
40244 _errHandler.reportError(this, re);
40245 _errHandler.recover(this, re);
40246 }
40247 finally {
40248 exitRule();
40249 }
40250 return _localctx;
40251 }
40252
40253 public static class SelectWithClauseContext extends ParserRuleContext {
40254 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
40255 public XmlNamespacesClauseContext xmlNamespacesClause() {
40256 return getRuleContext(XmlNamespacesClauseContext.class,0);
40257 }
40258 public CteClauseSetContext cteClauseSet() {
40259 return getRuleContext(CteClauseSetContext.class,0);
40260 }
40261 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
40262 public SelectWithClauseContext(ParserRuleContext parent, int invokingState) {
40263 super(parent, invokingState);
40264 }
40265 @Override public int getRuleIndex() { return RULE_selectWithClause; }
40266 @Override
40267 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40268 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelectWithClause(this);
40269 else return visitor.visitChildren(this);
40270 }
40271 }
40272
40273 public final SelectWithClauseContext selectWithClause() throws RecognitionException {
40274 SelectWithClauseContext _localctx = new SelectWithClauseContext(_ctx, getState());
40275 enterRule(_localctx, 768, RULE_selectWithClause);
40276 int _la;
40277 try {
40278 enterOuterAlt(_localctx, 1);
40279 {
40280 setState(5562);
40281 match(WITH);
40282 setState(5567);
40283 _errHandler.sync(this);
40284 _la = _input.LA(1);
40285 if (_la==XMLNAMESPACES) {
40286 {
40287 setState(5563);
40288 xmlNamespacesClause();
40289 setState(5565);
40290 _errHandler.sync(this);
40291 _la = _input.LA(1);
40292 if (_la==COMMA_) {
40293 {
40294 setState(5564);
40295 match(COMMA_);
40296 }
40297 }
40298
40299 }
40300 }
40301
40302 setState(5570);
40303 _errHandler.sync(this);
40304 _la = _input.LA(1);
40305 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (QUARTER - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)) | (1L << (ROW - 184)) | (1L << (ROWS - 184)) | (1L << (XOR - 184)) | (1L << (ALWAYS - 184)) | (1L << (ROLE - 184)) | (1L << (START - 184)) | (1L << (ALGORITHM - 184)) | (1L << (AUTO - 184)) | (1L << (BLOCKERS - 184)) | (1L << (CLUSTERED - 184)) | (1L << (NONCLUSTERED - 184)) | (1L << (COLUMNSTORE - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)) | (1L << (RANDOMIZED - 248)) | (1L << (RANGE - 248)) | (1L << (REBUILD - 248)) | (1L << (REPLICATE - 248)) | (1L << (REPLICATION - 248)) | (1L << (RESUMABLE - 248)) | (1L << (ROWGUIDCOL - 248)) | (1L << (SAVE - 248)) | (1L << (SELF - 248)) | (1L << (SPARSE - 248)) | (1L << (SWITCH - 248)) | (1L << (TRAN - 248)) | (1L << (TRANCOUNT - 248)) | (1L << (CONTROL - 248)) | (1L << (CONCAT - 248)) | (1L << (TAKE - 248)) | (1L << (OWNERSHIP - 248)) | (1L << (DEFINITION - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)) | (1L << (DATA - 312)) | (1L << (SOURCE - 312)) | (1L << (FILE - 312)) | (1L << (FORMAT - 312)) | (1L << (LIBRARY - 312)) | (1L << (FULLTEXT - 312)) | (1L << (MASK - 312)) | (1L << (UNMASK - 312)) | (1L << (MESSAGE - 312)) | (1L << (REMOTE - 312)) | (1L << (BINDING - 312)) | (1L << (ROUTE - 312)) | (1L << (SECURITY - 312)) | (1L << (POLICY - 312)) | (1L << (AGGREGATE - 312)) | (1L << (QUEUE - 312)) | (1L << (RULE - 312)) | (1L << (SYNONYM - 312)) | (1L << (COLLECTION - 312)) | (1L << (SCRIPT - 312)) | (1L << (KILL - 312)) | (1L << (BACKUP - 312)) | (1L << (LOG - 312)) | (1L << (SHOWPLAN - 312)) | (1L << (SUBSCRIBE - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILTER_PREDICATE - 376)) | (1L << (HISTORY_RETENTION_PERIOD - 376)) | (1L << (HISTORY_TABLE - 376)) | (1L << (LOCK_ESCALATION - 376)) | (1L << (DROP_EXISTING - 376)) | (1L << (ROW_NUMBER - 376)) | (1L << (FIRST - 376)) | (1L << (DATETIME2 - 376)))) != 0) || ((((_la - 441)) & ~0x3f) == 0 && ((1L << (_la - 441)) & ((1L << (OUTPUT - 441)) | (1L << (INSERTED - 441)) | (1L << (DELETED - 441)) | (1L << (FILENAME - 441)) | (1L << (MAXSIZE - 441)) | (1L << (FILEGROWTH - 441)) | (1L << (UNLIMITED - 441)) | (1L << (KB - 441)) | (1L << (MB - 441)) | (1L << (GB - 441)) | (1L << (TB - 441)) | (1L << (MEMORY_OPTIMIZED_DATA - 441)) | (1L << (FILEGROUP - 441)) | (1L << (NON_TRANSACTED_ACCESS - 441)) | (1L << (DB_CHAINING - 441)) | (1L << (TRUSTWORTHY - 441)) | (1L << (FORWARD_ONLY - 441)) | (1L << (KEYSET - 441)) | (1L << (FAST_FORWARD - 441)) | (1L << (SCROLL_LOCKS - 441)) | (1L << (OPTIMISTIC - 441)) | (1L << (TYPE_WARNING - 441)) | (1L << (SCHEMABINDING - 441)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (CALLER - 505)) | (1L << (OWNER - 505)) | (1L << (SNAPSHOT - 505)) | (1L << (REPEATABLE - 505)) | (1L << (SERIALIZABLE - 505)) | (1L << (NATIVE_COMPILATION - 505)) | (1L << (VIEW_METADATA - 505)) | (1L << (INSTEAD - 505)) | (1L << (APPEND - 505)) | (1L << (INCREMENT - 505)) | (1L << (CACHE - 505)) | (1L << (MINVALUE - 505)) | (1L << (MAXVALUE - 505)) | (1L << (RESTART - 505)) | (1L << (LOB_COMPACTION - 505)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 505)) | (1L << (REORGANIZE - 505)) | (1L << (RESUME - 505)) | (1L << (PAUSE - 505)) | (1L << (ABORT - 505)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 505)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 505)) | (1L << (IMMEDIATE - 505)) | (1L << (NO_WAIT - 505)) | (1L << (TARGET_RECOVERY_TIME - 505)) | (1L << (SECONDS - 505)) | (1L << (HONOR_BROKER_PRIORITY - 505)) | (1L << (ERROR_BROKER_CONVERSATIONS - 505)) | (1L << (NEW_BROKER - 505)) | (1L << (DISABLE_BROKER - 505)) | (1L << (ENABLE_BROKER - 505)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 505)) | (1L << (READ_COMMITTED_SNAPSHOT - 505)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 505)) | (1L << (RECURSIVE_TRIGGERS - 505)) | (1L << (QUOTED_IDENTIFIER - 505)) | (1L << (NUMERIC_ROUNDABORT - 505)) | (1L << (CONCAT_NULL_YIELDS_NULL - 505)) | (1L << (COMPATIBILITY_LEVEL - 505)) | (1L << (ARITHABORT - 505)) | (1L << (ANSI_WARNINGS - 505)) | (1L << (ANSI_PADDING - 505)) | (1L << (ANSI_NULLS - 505)))) != 0) || ((((_la - 569)) & ~0x3f) == 0 && ((1L << (_la - 569)) & ((1L << (ANSI_NULL_DEFAULT - 569)) | (1L << (PAGE_VERIFY - 569)) | (1L << (CHECKSUM - 569)) | (1L << (TORN_PAGE_DETECTION - 569)) | (1L << (BULK_LOGGED - 569)) | (1L << (RECOVERY - 569)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 569)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 569)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 569)) | (1L << (EXECUTION_COUNT - 569)) | (1L << (QUERY_CAPTURE_POLICY - 569)) | (1L << (WAIT_STATS_CAPTURE_MODE - 569)) | (1L << (MAX_PLANS_PER_QUERY - 569)) | (1L << (QUERY_CAPTURE_MODE - 569)) | (1L << (SIZE_BASED_CLEANUP_MODE - 569)) | (1L << (INTERVAL_LENGTH_MINUTES - 569)) | (1L << (MAX_STORAGE_SIZE_MB - 569)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 569)) | (1L << (CLEANUP_POLICY - 569)) | (1L << (CUSTOM - 569)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 569)) | (1L << (OPERATION_MODE - 569)) | (1L << (QUERY_STORE - 569)) | (1L << (CURSOR_DEFAULT - 569)) | (1L << (GLOBAL - 569)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 569)) | (1L << (HOURS - 569)) | (1L << (CHANGE_RETENTION - 569)) | (1L << (AUTO_CLEANUP - 569)) | (1L << (CHANGE_TRACKING - 569)) | (1L << (AUTOMATIC_TUNING - 569)) | (1L << (FORCE_LAST_GOOD_PLAN - 569)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 569)) | (1L << (AUTO_UPDATE_STATISTICS - 569)) | (1L << (AUTO_SHRINK - 569)) | (1L << (AUTO_CREATE_STATISTICS - 569)) | (1L << (INCREMENTAL - 569)) | (1L << (AUTO_CLOSE - 569)) | (1L << (DATA_RETENTION - 569)) | (1L << (TEMPORAL_HISTORY_RETENTION - 569)) | (1L << (EDITION - 569)) | (1L << (MIXED_PAGE_ALLOCATION - 569)) | (1L << (DISABLED - 569)) | (1L << (ALLOWED - 569)) | (1L << (HADR - 569)) | (1L << (MULTI_USER - 569)) | (1L << (RESTRICTED_USER - 569)) | (1L << (SINGLE_USER - 569)) | (1L << (OFFLINE - 569)) | (1L << (EMERGENCY - 569)) | (1L << (SUSPEND - 569)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 569)) | (1L << (ELASTIC_POOL - 569)) | (1L << (SERVICE_OBJECTIVE - 569)) | (1L << (DATABASE_NAME - 569)) | (1L << (ALLOW_CONNECTIONS - 569)) | (1L << (GEO - 569)) | (1L << (NAMED - 569)) | (1L << (DATEFIRST - 569)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 569)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 569)) | (1L << (SECONDARY - 569)) | (1L << (FAILOVER - 569)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 569)))) != 0) || ((((_la - 633)) & ~0x3f) == 0 && ((1L << (_la - 633)) & ((1L << (DEFAULT_LANGUAGE - 633)) | (1L << (INLINE - 633)) | (1L << (NESTED_TRIGGERS - 633)) | (1L << (TRANSFORM_NOISE_WORDS - 633)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 633)) | (1L << (PERSISTENT_LOG_BUFFER - 633)) | (1L << (DIRECTORY_NAME - 633)) | (1L << (DATEFORMAT - 633)) | (1L << (DELAYED_DURABILITY - 633)) | (1L << (AUTHORIZATION - 633)) | (1L << (TRANSFER - 633)) | (1L << (PROVIDER - 633)) | (1L << (SEARCH - 633)) | (1L << (MEMBER - 633)) | (1L << (IDENTIFIER_ - 633)) | (1L << (DELIMITED_IDENTIFIER_ - 633)))) != 0)) {
40306 {
40307 setState(5569);
40308 cteClauseSet();
40309 }
40310 }
40311
40312 }
40313 }
40314 catch (RecognitionException re) {
40315 _localctx.exception = re;
40316 _errHandler.reportError(this, re);
40317 _errHandler.recover(this, re);
40318 }
40319 finally {
40320 exitRule();
40321 }
40322 return _localctx;
40323 }
40324
40325 public static class XmlNamespacesClauseContext extends ParserRuleContext {
40326 public TerminalNode XMLNAMESPACES() { return getToken(SQLServerStatementParser.XMLNAMESPACES, 0); }
40327 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
40328 public List<XmlNamespaceDeclarationItemContext> xmlNamespaceDeclarationItem() {
40329 return getRuleContexts(XmlNamespaceDeclarationItemContext.class);
40330 }
40331 public XmlNamespaceDeclarationItemContext xmlNamespaceDeclarationItem(int i) {
40332 return getRuleContext(XmlNamespaceDeclarationItemContext.class,i);
40333 }
40334 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
40335 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40336 public TerminalNode COMMA_(int i) {
40337 return getToken(SQLServerStatementParser.COMMA_, i);
40338 }
40339 public XmlNamespacesClauseContext(ParserRuleContext parent, int invokingState) {
40340 super(parent, invokingState);
40341 }
40342 @Override public int getRuleIndex() { return RULE_xmlNamespacesClause; }
40343 @Override
40344 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40345 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespacesClause(this);
40346 else return visitor.visitChildren(this);
40347 }
40348 }
40349
40350 public final XmlNamespacesClauseContext xmlNamespacesClause() throws RecognitionException {
40351 XmlNamespacesClauseContext _localctx = new XmlNamespacesClauseContext(_ctx, getState());
40352 enterRule(_localctx, 770, RULE_xmlNamespacesClause);
40353 int _la;
40354 try {
40355 enterOuterAlt(_localctx, 1);
40356 {
40357 setState(5572);
40358 match(XMLNAMESPACES);
40359 setState(5573);
40360 match(LP_);
40361 setState(5574);
40362 xmlNamespaceDeclarationItem();
40363 setState(5579);
40364 _errHandler.sync(this);
40365 _la = _input.LA(1);
40366 while (_la==COMMA_) {
40367 {
40368 {
40369 setState(5575);
40370 match(COMMA_);
40371 setState(5576);
40372 xmlNamespaceDeclarationItem();
40373 }
40374 }
40375 setState(5581);
40376 _errHandler.sync(this);
40377 _la = _input.LA(1);
40378 }
40379 setState(5582);
40380 match(RP_);
40381 }
40382 }
40383 catch (RecognitionException re) {
40384 _localctx.exception = re;
40385 _errHandler.reportError(this, re);
40386 _errHandler.recover(this, re);
40387 }
40388 finally {
40389 exitRule();
40390 }
40391 return _localctx;
40392 }
40393
40394 public static class XmlNamespaceDeclarationItemContext extends ParserRuleContext {
40395 public XmlNamespaceUriContext xmlNamespaceUri() {
40396 return getRuleContext(XmlNamespaceUriContext.class,0);
40397 }
40398 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
40399 public XmlNamespacePrefixContext xmlNamespacePrefix() {
40400 return getRuleContext(XmlNamespacePrefixContext.class,0);
40401 }
40402 public XmlDefaultNamespaceDeclarationItemContext xmlDefaultNamespaceDeclarationItem() {
40403 return getRuleContext(XmlDefaultNamespaceDeclarationItemContext.class,0);
40404 }
40405 public XmlNamespaceDeclarationItemContext(ParserRuleContext parent, int invokingState) {
40406 super(parent, invokingState);
40407 }
40408 @Override public int getRuleIndex() { return RULE_xmlNamespaceDeclarationItem; }
40409 @Override
40410 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40411 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespaceDeclarationItem(this);
40412 else return visitor.visitChildren(this);
40413 }
40414 }
40415
40416 public final XmlNamespaceDeclarationItemContext xmlNamespaceDeclarationItem() throws RecognitionException {
40417 XmlNamespaceDeclarationItemContext _localctx = new XmlNamespaceDeclarationItemContext(_ctx, getState());
40418 enterRule(_localctx, 772, RULE_xmlNamespaceDeclarationItem);
40419 try {
40420 setState(5589);
40421 _errHandler.sync(this);
40422 switch (_input.LA(1)) {
40423 case STRING_:
40424 case NCHAR_TEXT:
40425 enterOuterAlt(_localctx, 1);
40426 {
40427 setState(5584);
40428 xmlNamespaceUri();
40429 setState(5585);
40430 match(AS);
40431 setState(5586);
40432 xmlNamespacePrefix();
40433 }
40434 break;
40435 case DEFAULT:
40436 enterOuterAlt(_localctx, 2);
40437 {
40438 setState(5588);
40439 xmlDefaultNamespaceDeclarationItem();
40440 }
40441 break;
40442 default:
40443 throw new NoViableAltException(this);
40444 }
40445 }
40446 catch (RecognitionException re) {
40447 _localctx.exception = re;
40448 _errHandler.reportError(this, re);
40449 _errHandler.recover(this, re);
40450 }
40451 finally {
40452 exitRule();
40453 }
40454 return _localctx;
40455 }
40456
40457 public static class XmlNamespaceUriContext extends ParserRuleContext {
40458 public StringLiteralsContext stringLiterals() {
40459 return getRuleContext(StringLiteralsContext.class,0);
40460 }
40461 public XmlNamespaceUriContext(ParserRuleContext parent, int invokingState) {
40462 super(parent, invokingState);
40463 }
40464 @Override public int getRuleIndex() { return RULE_xmlNamespaceUri; }
40465 @Override
40466 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40467 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespaceUri(this);
40468 else return visitor.visitChildren(this);
40469 }
40470 }
40471
40472 public final XmlNamespaceUriContext xmlNamespaceUri() throws RecognitionException {
40473 XmlNamespaceUriContext _localctx = new XmlNamespaceUriContext(_ctx, getState());
40474 enterRule(_localctx, 774, RULE_xmlNamespaceUri);
40475 try {
40476 enterOuterAlt(_localctx, 1);
40477 {
40478 setState(5591);
40479 stringLiterals();
40480 }
40481 }
40482 catch (RecognitionException re) {
40483 _localctx.exception = re;
40484 _errHandler.reportError(this, re);
40485 _errHandler.recover(this, re);
40486 }
40487 finally {
40488 exitRule();
40489 }
40490 return _localctx;
40491 }
40492
40493 public static class XmlNamespacePrefixContext extends ParserRuleContext {
40494 public IdentifierContext identifier() {
40495 return getRuleContext(IdentifierContext.class,0);
40496 }
40497 public XmlNamespacePrefixContext(ParserRuleContext parent, int invokingState) {
40498 super(parent, invokingState);
40499 }
40500 @Override public int getRuleIndex() { return RULE_xmlNamespacePrefix; }
40501 @Override
40502 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40503 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespacePrefix(this);
40504 else return visitor.visitChildren(this);
40505 }
40506 }
40507
40508 public final XmlNamespacePrefixContext xmlNamespacePrefix() throws RecognitionException {
40509 XmlNamespacePrefixContext _localctx = new XmlNamespacePrefixContext(_ctx, getState());
40510 enterRule(_localctx, 776, RULE_xmlNamespacePrefix);
40511 try {
40512 enterOuterAlt(_localctx, 1);
40513 {
40514 setState(5593);
40515 identifier();
40516 }
40517 }
40518 catch (RecognitionException re) {
40519 _localctx.exception = re;
40520 _errHandler.reportError(this, re);
40521 _errHandler.recover(this, re);
40522 }
40523 finally {
40524 exitRule();
40525 }
40526 return _localctx;
40527 }
40528
40529 public static class XmlDefaultNamespaceDeclarationItemContext extends ParserRuleContext {
40530 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
40531 public XmlNamespaceUriContext xmlNamespaceUri() {
40532 return getRuleContext(XmlNamespaceUriContext.class,0);
40533 }
40534 public XmlDefaultNamespaceDeclarationItemContext(ParserRuleContext parent, int invokingState) {
40535 super(parent, invokingState);
40536 }
40537 @Override public int getRuleIndex() { return RULE_xmlDefaultNamespaceDeclarationItem; }
40538 @Override
40539 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40540 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlDefaultNamespaceDeclarationItem(this);
40541 else return visitor.visitChildren(this);
40542 }
40543 }
40544
40545 public final XmlDefaultNamespaceDeclarationItemContext xmlDefaultNamespaceDeclarationItem() throws RecognitionException {
40546 XmlDefaultNamespaceDeclarationItemContext _localctx = new XmlDefaultNamespaceDeclarationItemContext(_ctx, getState());
40547 enterRule(_localctx, 778, RULE_xmlDefaultNamespaceDeclarationItem);
40548 try {
40549 enterOuterAlt(_localctx, 1);
40550 {
40551 setState(5595);
40552 match(DEFAULT);
40553 setState(5596);
40554 xmlNamespaceUri();
40555 }
40556 }
40557 catch (RecognitionException re) {
40558 _localctx.exception = re;
40559 _errHandler.reportError(this, re);
40560 _errHandler.recover(this, re);
40561 }
40562 finally {
40563 exitRule();
40564 }
40565 return _localctx;
40566 }
40567
40568 public static class GrantContext extends ParserRuleContext {
40569 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
40570 public GrantClassPrivilegesClauseContext grantClassPrivilegesClause() {
40571 return getRuleContext(GrantClassPrivilegesClauseContext.class,0);
40572 }
40573 public GrantClassTypePrivilegesClauseContext grantClassTypePrivilegesClause() {
40574 return getRuleContext(GrantClassTypePrivilegesClauseContext.class,0);
40575 }
40576 public GrantContext(ParserRuleContext parent, int invokingState) {
40577 super(parent, invokingState);
40578 }
40579 @Override public int getRuleIndex() { return RULE_grant; }
40580 @Override
40581 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40582 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrant(this);
40583 else return visitor.visitChildren(this);
40584 }
40585 }
40586
40587 public final GrantContext grant() throws RecognitionException {
40588 GrantContext _localctx = new GrantContext(_ctx, getState());
40589 enterRule(_localctx, 780, RULE_grant);
40590 try {
40591 enterOuterAlt(_localctx, 1);
40592 {
40593 setState(5598);
40594 match(GRANT);
40595 setState(5601);
40596 _errHandler.sync(this);
40597 switch ( getInterpreter().adaptivePredict(_input,652,_ctx) ) {
40598 case 1:
40599 {
40600 setState(5599);
40601 grantClassPrivilegesClause();
40602 }
40603 break;
40604 case 2:
40605 {
40606 setState(5600);
40607 grantClassTypePrivilegesClause();
40608 }
40609 break;
40610 }
40611 }
40612 }
40613 catch (RecognitionException re) {
40614 _localctx.exception = re;
40615 _errHandler.reportError(this, re);
40616 _errHandler.recover(this, re);
40617 }
40618 finally {
40619 exitRule();
40620 }
40621 return _localctx;
40622 }
40623
40624 public static class GrantClassPrivilegesClauseContext extends ParserRuleContext {
40625 public ClassPrivilegesContext classPrivileges() {
40626 return getRuleContext(ClassPrivilegesContext.class,0);
40627 }
40628 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
40629 public List<PrincipalContext> principal() {
40630 return getRuleContexts(PrincipalContext.class);
40631 }
40632 public PrincipalContext principal(int i) {
40633 return getRuleContext(PrincipalContext.class,i);
40634 }
40635 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
40636 public OnClassClauseContext onClassClause() {
40637 return getRuleContext(OnClassClauseContext.class,0);
40638 }
40639 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40640 public TerminalNode COMMA_(int i) {
40641 return getToken(SQLServerStatementParser.COMMA_, i);
40642 }
40643 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
40644 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
40645 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
40646 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
40647 public GrantClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
40648 super(parent, invokingState);
40649 }
40650 @Override public int getRuleIndex() { return RULE_grantClassPrivilegesClause; }
40651 @Override
40652 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40653 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrantClassPrivilegesClause(this);
40654 else return visitor.visitChildren(this);
40655 }
40656 }
40657
40658 public final GrantClassPrivilegesClauseContext grantClassPrivilegesClause() throws RecognitionException {
40659 GrantClassPrivilegesClauseContext _localctx = new GrantClassPrivilegesClauseContext(_ctx, getState());
40660 enterRule(_localctx, 782, RULE_grantClassPrivilegesClause);
40661 int _la;
40662 try {
40663 enterOuterAlt(_localctx, 1);
40664 {
40665 setState(5603);
40666 classPrivileges();
40667 setState(5606);
40668 _errHandler.sync(this);
40669 _la = _input.LA(1);
40670 if (_la==ON) {
40671 {
40672 setState(5604);
40673 match(ON);
40674 setState(5605);
40675 onClassClause();
40676 }
40677 }
40678
40679 setState(5608);
40680 match(TO);
40681 setState(5609);
40682 principal();
40683 setState(5614);
40684 _errHandler.sync(this);
40685 _la = _input.LA(1);
40686 while (_la==COMMA_) {
40687 {
40688 {
40689 setState(5610);
40690 match(COMMA_);
40691 setState(5611);
40692 principal();
40693 }
40694 }
40695 setState(5616);
40696 _errHandler.sync(this);
40697 _la = _input.LA(1);
40698 }
40699 setState(5620);
40700 _errHandler.sync(this);
40701 _la = _input.LA(1);
40702 if (_la==WITH) {
40703 {
40704 setState(5617);
40705 match(WITH);
40706 setState(5618);
40707 match(GRANT);
40708 setState(5619);
40709 match(OPTION);
40710 }
40711 }
40712
40713 setState(5624);
40714 _errHandler.sync(this);
40715 _la = _input.LA(1);
40716 if (_la==AS) {
40717 {
40718 setState(5622);
40719 match(AS);
40720 setState(5623);
40721 principal();
40722 }
40723 }
40724
40725 }
40726 }
40727 catch (RecognitionException re) {
40728 _localctx.exception = re;
40729 _errHandler.reportError(this, re);
40730 _errHandler.recover(this, re);
40731 }
40732 finally {
40733 exitRule();
40734 }
40735 return _localctx;
40736 }
40737
40738 public static class GrantClassTypePrivilegesClauseContext extends ParserRuleContext {
40739 public ClassTypePrivilegesContext classTypePrivileges() {
40740 return getRuleContext(ClassTypePrivilegesContext.class,0);
40741 }
40742 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
40743 public List<PrincipalContext> principal() {
40744 return getRuleContexts(PrincipalContext.class);
40745 }
40746 public PrincipalContext principal(int i) {
40747 return getRuleContext(PrincipalContext.class,i);
40748 }
40749 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
40750 public OnClassTypeClauseContext onClassTypeClause() {
40751 return getRuleContext(OnClassTypeClauseContext.class,0);
40752 }
40753 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40754 public TerminalNode COMMA_(int i) {
40755 return getToken(SQLServerStatementParser.COMMA_, i);
40756 }
40757 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
40758 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
40759 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
40760 public GrantClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
40761 super(parent, invokingState);
40762 }
40763 @Override public int getRuleIndex() { return RULE_grantClassTypePrivilegesClause; }
40764 @Override
40765 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40766 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrantClassTypePrivilegesClause(this);
40767 else return visitor.visitChildren(this);
40768 }
40769 }
40770
40771 public final GrantClassTypePrivilegesClauseContext grantClassTypePrivilegesClause() throws RecognitionException {
40772 GrantClassTypePrivilegesClauseContext _localctx = new GrantClassTypePrivilegesClauseContext(_ctx, getState());
40773 enterRule(_localctx, 784, RULE_grantClassTypePrivilegesClause);
40774 int _la;
40775 try {
40776 enterOuterAlt(_localctx, 1);
40777 {
40778 setState(5626);
40779 classTypePrivileges();
40780 setState(5629);
40781 _errHandler.sync(this);
40782 _la = _input.LA(1);
40783 if (_la==ON) {
40784 {
40785 setState(5627);
40786 match(ON);
40787 setState(5628);
40788 onClassTypeClause();
40789 }
40790 }
40791
40792 setState(5631);
40793 match(TO);
40794 setState(5632);
40795 principal();
40796 setState(5637);
40797 _errHandler.sync(this);
40798 _la = _input.LA(1);
40799 while (_la==COMMA_) {
40800 {
40801 {
40802 setState(5633);
40803 match(COMMA_);
40804 setState(5634);
40805 principal();
40806 }
40807 }
40808 setState(5639);
40809 _errHandler.sync(this);
40810 _la = _input.LA(1);
40811 }
40812 setState(5643);
40813 _errHandler.sync(this);
40814 _la = _input.LA(1);
40815 if (_la==WITH) {
40816 {
40817 setState(5640);
40818 match(WITH);
40819 setState(5641);
40820 match(GRANT);
40821 setState(5642);
40822 match(OPTION);
40823 }
40824 }
40825
40826 }
40827 }
40828 catch (RecognitionException re) {
40829 _localctx.exception = re;
40830 _errHandler.reportError(this, re);
40831 _errHandler.recover(this, re);
40832 }
40833 finally {
40834 exitRule();
40835 }
40836 return _localctx;
40837 }
40838
40839 public static class ClassPrivilegesContext extends ParserRuleContext {
40840 public List<PrivilegeTypeContext> privilegeType() {
40841 return getRuleContexts(PrivilegeTypeContext.class);
40842 }
40843 public PrivilegeTypeContext privilegeType(int i) {
40844 return getRuleContext(PrivilegeTypeContext.class,i);
40845 }
40846 public List<ColumnNamesContext> columnNames() {
40847 return getRuleContexts(ColumnNamesContext.class);
40848 }
40849 public ColumnNamesContext columnNames(int i) {
40850 return getRuleContext(ColumnNamesContext.class,i);
40851 }
40852 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40853 public TerminalNode COMMA_(int i) {
40854 return getToken(SQLServerStatementParser.COMMA_, i);
40855 }
40856 public ClassPrivilegesContext(ParserRuleContext parent, int invokingState) {
40857 super(parent, invokingState);
40858 }
40859 @Override public int getRuleIndex() { return RULE_classPrivileges; }
40860 @Override
40861 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40862 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassPrivileges(this);
40863 else return visitor.visitChildren(this);
40864 }
40865 }
40866
40867 public final ClassPrivilegesContext classPrivileges() throws RecognitionException {
40868 ClassPrivilegesContext _localctx = new ClassPrivilegesContext(_ctx, getState());
40869 enterRule(_localctx, 786, RULE_classPrivileges);
40870 int _la;
40871 try {
40872 enterOuterAlt(_localctx, 1);
40873 {
40874 setState(5645);
40875 privilegeType();
40876 setState(5647);
40877 _errHandler.sync(this);
40878 _la = _input.LA(1);
40879 if (_la==LP_) {
40880 {
40881 setState(5646);
40882 columnNames();
40883 }
40884 }
40885
40886 setState(5656);
40887 _errHandler.sync(this);
40888 _la = _input.LA(1);
40889 while (_la==COMMA_) {
40890 {
40891 {
40892 setState(5649);
40893 match(COMMA_);
40894 setState(5650);
40895 privilegeType();
40896 setState(5652);
40897 _errHandler.sync(this);
40898 _la = _input.LA(1);
40899 if (_la==LP_) {
40900 {
40901 setState(5651);
40902 columnNames();
40903 }
40904 }
40905
40906 }
40907 }
40908 setState(5658);
40909 _errHandler.sync(this);
40910 _la = _input.LA(1);
40911 }
40912 }
40913 }
40914 catch (RecognitionException re) {
40915 _localctx.exception = re;
40916 _errHandler.reportError(this, re);
40917 _errHandler.recover(this, re);
40918 }
40919 finally {
40920 exitRule();
40921 }
40922 return _localctx;
40923 }
40924
40925 public static class OnClassClauseContext extends ParserRuleContext {
40926 public SecurableContext securable() {
40927 return getRuleContext(SecurableContext.class,0);
40928 }
40929 public ClassItemContext classItem() {
40930 return getRuleContext(ClassItemContext.class,0);
40931 }
40932 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
40933 public TerminalNode COLON_(int i) {
40934 return getToken(SQLServerStatementParser.COLON_, i);
40935 }
40936 public OnClassClauseContext(ParserRuleContext parent, int invokingState) {
40937 super(parent, invokingState);
40938 }
40939 @Override public int getRuleIndex() { return RULE_onClassClause; }
40940 @Override
40941 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40942 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnClassClause(this);
40943 else return visitor.visitChildren(this);
40944 }
40945 }
40946
40947 public final OnClassClauseContext onClassClause() throws RecognitionException {
40948 OnClassClauseContext _localctx = new OnClassClauseContext(_ctx, getState());
40949 enterRule(_localctx, 788, RULE_onClassClause);
40950 try {
40951 enterOuterAlt(_localctx, 1);
40952 {
40953 setState(5663);
40954 _errHandler.sync(this);
40955 switch ( getInterpreter().adaptivePredict(_input,663,_ctx) ) {
40956 case 1:
40957 {
40958 setState(5659);
40959 classItem();
40960 setState(5660);
40961 match(COLON_);
40962 setState(5661);
40963 match(COLON_);
40964 }
40965 break;
40966 }
40967 setState(5665);
40968 securable();
40969 }
40970 }
40971 catch (RecognitionException re) {
40972 _localctx.exception = re;
40973 _errHandler.reportError(this, re);
40974 _errHandler.recover(this, re);
40975 }
40976 finally {
40977 exitRule();
40978 }
40979 return _localctx;
40980 }
40981
40982 public static class ClassTypePrivilegesContext extends ParserRuleContext {
40983 public List<PrivilegeTypeContext> privilegeType() {
40984 return getRuleContexts(PrivilegeTypeContext.class);
40985 }
40986 public PrivilegeTypeContext privilegeType(int i) {
40987 return getRuleContext(PrivilegeTypeContext.class,i);
40988 }
40989 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40990 public TerminalNode COMMA_(int i) {
40991 return getToken(SQLServerStatementParser.COMMA_, i);
40992 }
40993 public ClassTypePrivilegesContext(ParserRuleContext parent, int invokingState) {
40994 super(parent, invokingState);
40995 }
40996 @Override public int getRuleIndex() { return RULE_classTypePrivileges; }
40997 @Override
40998 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40999 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassTypePrivileges(this);
41000 else return visitor.visitChildren(this);
41001 }
41002 }
41003
41004 public final ClassTypePrivilegesContext classTypePrivileges() throws RecognitionException {
41005 ClassTypePrivilegesContext _localctx = new ClassTypePrivilegesContext(_ctx, getState());
41006 enterRule(_localctx, 790, RULE_classTypePrivileges);
41007 int _la;
41008 try {
41009 enterOuterAlt(_localctx, 1);
41010 {
41011 setState(5667);
41012 privilegeType();
41013 setState(5672);
41014 _errHandler.sync(this);
41015 _la = _input.LA(1);
41016 while (_la==COMMA_) {
41017 {
41018 {
41019 setState(5668);
41020 match(COMMA_);
41021 setState(5669);
41022 privilegeType();
41023 }
41024 }
41025 setState(5674);
41026 _errHandler.sync(this);
41027 _la = _input.LA(1);
41028 }
41029 }
41030 }
41031 catch (RecognitionException re) {
41032 _localctx.exception = re;
41033 _errHandler.reportError(this, re);
41034 _errHandler.recover(this, re);
41035 }
41036 finally {
41037 exitRule();
41038 }
41039 return _localctx;
41040 }
41041
41042 public static class OnClassTypeClauseContext extends ParserRuleContext {
41043 public SecurableContext securable() {
41044 return getRuleContext(SecurableContext.class,0);
41045 }
41046 public ClassTypeContext classType() {
41047 return getRuleContext(ClassTypeContext.class,0);
41048 }
41049 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
41050 public TerminalNode COLON_(int i) {
41051 return getToken(SQLServerStatementParser.COLON_, i);
41052 }
41053 public OnClassTypeClauseContext(ParserRuleContext parent, int invokingState) {
41054 super(parent, invokingState);
41055 }
41056 @Override public int getRuleIndex() { return RULE_onClassTypeClause; }
41057 @Override
41058 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41059 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnClassTypeClause(this);
41060 else return visitor.visitChildren(this);
41061 }
41062 }
41063
41064 public final OnClassTypeClauseContext onClassTypeClause() throws RecognitionException {
41065 OnClassTypeClauseContext _localctx = new OnClassTypeClauseContext(_ctx, getState());
41066 enterRule(_localctx, 792, RULE_onClassTypeClause);
41067 try {
41068 enterOuterAlt(_localctx, 1);
41069 {
41070 setState(5679);
41071 _errHandler.sync(this);
41072 switch ( getInterpreter().adaptivePredict(_input,665,_ctx) ) {
41073 case 1:
41074 {
41075 setState(5675);
41076 classType();
41077 setState(5676);
41078 match(COLON_);
41079 setState(5677);
41080 match(COLON_);
41081 }
41082 break;
41083 }
41084 setState(5681);
41085 securable();
41086 }
41087 }
41088 catch (RecognitionException re) {
41089 _localctx.exception = re;
41090 _errHandler.reportError(this, re);
41091 _errHandler.recover(this, re);
41092 }
41093 finally {
41094 exitRule();
41095 }
41096 return _localctx;
41097 }
41098
41099 public static class SecurableContext extends ParserRuleContext {
41100 public NameContext name() {
41101 return getRuleContext(NameContext.class,0);
41102 }
41103 public OwnerContext owner() {
41104 return getRuleContext(OwnerContext.class,0);
41105 }
41106 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
41107 public SecurableContext(ParserRuleContext parent, int invokingState) {
41108 super(parent, invokingState);
41109 }
41110 @Override public int getRuleIndex() { return RULE_securable; }
41111 @Override
41112 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41113 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSecurable(this);
41114 else return visitor.visitChildren(this);
41115 }
41116 }
41117
41118 public final SecurableContext securable() throws RecognitionException {
41119 SecurableContext _localctx = new SecurableContext(_ctx, getState());
41120 enterRule(_localctx, 794, RULE_securable);
41121 try {
41122 enterOuterAlt(_localctx, 1);
41123 {
41124 setState(5686);
41125 _errHandler.sync(this);
41126 switch ( getInterpreter().adaptivePredict(_input,666,_ctx) ) {
41127 case 1:
41128 {
41129 setState(5683);
41130 owner();
41131 setState(5684);
41132 match(DOT_);
41133 }
41134 break;
41135 }
41136 setState(5688);
41137 name();
41138 }
41139 }
41140 catch (RecognitionException re) {
41141 _localctx.exception = re;
41142 _errHandler.reportError(this, re);
41143 _errHandler.recover(this, re);
41144 }
41145 finally {
41146 exitRule();
41147 }
41148 return _localctx;
41149 }
41150
41151 public static class PrincipalContext extends ParserRuleContext {
41152 public UserNameContext userName() {
41153 return getRuleContext(UserNameContext.class,0);
41154 }
41155 public PrincipalContext(ParserRuleContext parent, int invokingState) {
41156 super(parent, invokingState);
41157 }
41158 @Override public int getRuleIndex() { return RULE_principal; }
41159 @Override
41160 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41161 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrincipal(this);
41162 else return visitor.visitChildren(this);
41163 }
41164 }
41165
41166 public final PrincipalContext principal() throws RecognitionException {
41167 PrincipalContext _localctx = new PrincipalContext(_ctx, getState());
41168 enterRule(_localctx, 796, RULE_principal);
41169 try {
41170 enterOuterAlt(_localctx, 1);
41171 {
41172 setState(5690);
41173 userName();
41174 }
41175 }
41176 catch (RecognitionException re) {
41177 _localctx.exception = re;
41178 _errHandler.reportError(this, re);
41179 _errHandler.recover(this, re);
41180 }
41181 finally {
41182 exitRule();
41183 }
41184 return _localctx;
41185 }
41186
41187 public static class RevokeContext extends ParserRuleContext {
41188 public TerminalNode REVOKE() { return getToken(SQLServerStatementParser.REVOKE, 0); }
41189 public RevokeClassPrivilegesClauseContext revokeClassPrivilegesClause() {
41190 return getRuleContext(RevokeClassPrivilegesClauseContext.class,0);
41191 }
41192 public RevokeClassTypePrivilegesClauseContext revokeClassTypePrivilegesClause() {
41193 return getRuleContext(RevokeClassTypePrivilegesClauseContext.class,0);
41194 }
41195 public OptionForClauseContext optionForClause() {
41196 return getRuleContext(OptionForClauseContext.class,0);
41197 }
41198 public RevokeContext(ParserRuleContext parent, int invokingState) {
41199 super(parent, invokingState);
41200 }
41201 @Override public int getRuleIndex() { return RULE_revoke; }
41202 @Override
41203 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41204 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevoke(this);
41205 else return visitor.visitChildren(this);
41206 }
41207 }
41208
41209 public final RevokeContext revoke() throws RecognitionException {
41210 RevokeContext _localctx = new RevokeContext(_ctx, getState());
41211 enterRule(_localctx, 798, RULE_revoke);
41212 int _la;
41213 try {
41214 enterOuterAlt(_localctx, 1);
41215 {
41216 setState(5692);
41217 match(REVOKE);
41218 setState(5698);
41219 _errHandler.sync(this);
41220 switch ( getInterpreter().adaptivePredict(_input,668,_ctx) ) {
41221 case 1:
41222 {
41223 setState(5694);
41224 _errHandler.sync(this);
41225 _la = _input.LA(1);
41226 if (_la==GRANT) {
41227 {
41228 setState(5693);
41229 optionForClause();
41230 }
41231 }
41232
41233 setState(5696);
41234 revokeClassPrivilegesClause();
41235 }
41236 break;
41237 case 2:
41238 {
41239 setState(5697);
41240 revokeClassTypePrivilegesClause();
41241 }
41242 break;
41243 }
41244 }
41245 }
41246 catch (RecognitionException re) {
41247 _localctx.exception = re;
41248 _errHandler.reportError(this, re);
41249 _errHandler.recover(this, re);
41250 }
41251 finally {
41252 exitRule();
41253 }
41254 return _localctx;
41255 }
41256
41257 public static class RevokeClassPrivilegesClauseContext extends ParserRuleContext {
41258 public ClassPrivilegesContext classPrivileges() {
41259 return getRuleContext(ClassPrivilegesContext.class,0);
41260 }
41261 public List<PrincipalContext> principal() {
41262 return getRuleContexts(PrincipalContext.class);
41263 }
41264 public PrincipalContext principal(int i) {
41265 return getRuleContext(PrincipalContext.class,i);
41266 }
41267 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
41268 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
41269 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
41270 public OnClassClauseContext onClassClause() {
41271 return getRuleContext(OnClassClauseContext.class,0);
41272 }
41273 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41274 public TerminalNode COMMA_(int i) {
41275 return getToken(SQLServerStatementParser.COMMA_, i);
41276 }
41277 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
41278 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
41279 public RevokeClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
41280 super(parent, invokingState);
41281 }
41282 @Override public int getRuleIndex() { return RULE_revokeClassPrivilegesClause; }
41283 @Override
41284 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41285 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevokeClassPrivilegesClause(this);
41286 else return visitor.visitChildren(this);
41287 }
41288 }
41289
41290 public final RevokeClassPrivilegesClauseContext revokeClassPrivilegesClause() throws RecognitionException {
41291 RevokeClassPrivilegesClauseContext _localctx = new RevokeClassPrivilegesClauseContext(_ctx, getState());
41292 enterRule(_localctx, 800, RULE_revokeClassPrivilegesClause);
41293 int _la;
41294 try {
41295 enterOuterAlt(_localctx, 1);
41296 {
41297 setState(5700);
41298 classPrivileges();
41299 setState(5703);
41300 _errHandler.sync(this);
41301 _la = _input.LA(1);
41302 if (_la==ON) {
41303 {
41304 setState(5701);
41305 match(ON);
41306 setState(5702);
41307 onClassClause();
41308 }
41309 }
41310
41311 setState(5705);
41312 _la = _input.LA(1);
41313 if ( !(_la==FROM || _la==TO) ) {
41314 _errHandler.recoverInline(this);
41315 }
41316 else {
41317 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
41318 _errHandler.reportMatch(this);
41319 consume();
41320 }
41321 setState(5706);
41322 principal();
41323 setState(5711);
41324 _errHandler.sync(this);
41325 _la = _input.LA(1);
41326 while (_la==COMMA_) {
41327 {
41328 {
41329 setState(5707);
41330 match(COMMA_);
41331 setState(5708);
41332 principal();
41333 }
41334 }
41335 setState(5713);
41336 _errHandler.sync(this);
41337 _la = _input.LA(1);
41338 }
41339 setState(5715);
41340 _errHandler.sync(this);
41341 _la = _input.LA(1);
41342 if (_la==CASCADE) {
41343 {
41344 setState(5714);
41345 match(CASCADE);
41346 }
41347 }
41348
41349 setState(5719);
41350 _errHandler.sync(this);
41351 _la = _input.LA(1);
41352 if (_la==AS) {
41353 {
41354 setState(5717);
41355 match(AS);
41356 setState(5718);
41357 principal();
41358 }
41359 }
41360
41361 }
41362 }
41363 catch (RecognitionException re) {
41364 _localctx.exception = re;
41365 _errHandler.reportError(this, re);
41366 _errHandler.recover(this, re);
41367 }
41368 finally {
41369 exitRule();
41370 }
41371 return _localctx;
41372 }
41373
41374 public static class RevokeClassTypePrivilegesClauseContext extends ParserRuleContext {
41375 public ClassTypePrivilegesContext classTypePrivileges() {
41376 return getRuleContext(ClassTypePrivilegesContext.class,0);
41377 }
41378 public List<PrincipalContext> principal() {
41379 return getRuleContexts(PrincipalContext.class);
41380 }
41381 public PrincipalContext principal(int i) {
41382 return getRuleContext(PrincipalContext.class,i);
41383 }
41384 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
41385 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
41386 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
41387 public OnClassTypeClauseContext onClassTypeClause() {
41388 return getRuleContext(OnClassTypeClauseContext.class,0);
41389 }
41390 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41391 public TerminalNode COMMA_(int i) {
41392 return getToken(SQLServerStatementParser.COMMA_, i);
41393 }
41394 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
41395 public RevokeClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
41396 super(parent, invokingState);
41397 }
41398 @Override public int getRuleIndex() { return RULE_revokeClassTypePrivilegesClause; }
41399 @Override
41400 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41401 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevokeClassTypePrivilegesClause(this);
41402 else return visitor.visitChildren(this);
41403 }
41404 }
41405
41406 public final RevokeClassTypePrivilegesClauseContext revokeClassTypePrivilegesClause() throws RecognitionException {
41407 RevokeClassTypePrivilegesClauseContext _localctx = new RevokeClassTypePrivilegesClauseContext(_ctx, getState());
41408 enterRule(_localctx, 802, RULE_revokeClassTypePrivilegesClause);
41409 int _la;
41410 try {
41411 enterOuterAlt(_localctx, 1);
41412 {
41413 setState(5721);
41414 classTypePrivileges();
41415 setState(5724);
41416 _errHandler.sync(this);
41417 _la = _input.LA(1);
41418 if (_la==ON) {
41419 {
41420 setState(5722);
41421 match(ON);
41422 setState(5723);
41423 onClassTypeClause();
41424 }
41425 }
41426
41427 setState(5726);
41428 _la = _input.LA(1);
41429 if ( !(_la==FROM || _la==TO) ) {
41430 _errHandler.recoverInline(this);
41431 }
41432 else {
41433 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
41434 _errHandler.reportMatch(this);
41435 consume();
41436 }
41437 setState(5727);
41438 principal();
41439 setState(5732);
41440 _errHandler.sync(this);
41441 _la = _input.LA(1);
41442 while (_la==COMMA_) {
41443 {
41444 {
41445 setState(5728);
41446 match(COMMA_);
41447 setState(5729);
41448 principal();
41449 }
41450 }
41451 setState(5734);
41452 _errHandler.sync(this);
41453 _la = _input.LA(1);
41454 }
41455 setState(5736);
41456 _errHandler.sync(this);
41457 _la = _input.LA(1);
41458 if (_la==CASCADE) {
41459 {
41460 setState(5735);
41461 match(CASCADE);
41462 }
41463 }
41464
41465 }
41466 }
41467 catch (RecognitionException re) {
41468 _localctx.exception = re;
41469 _errHandler.reportError(this, re);
41470 _errHandler.recover(this, re);
41471 }
41472 finally {
41473 exitRule();
41474 }
41475 return _localctx;
41476 }
41477
41478 public static class DenyContext extends ParserRuleContext {
41479 public TerminalNode DENY() { return getToken(SQLServerStatementParser.DENY, 0); }
41480 public DenyClassPrivilegesClauseContext denyClassPrivilegesClause() {
41481 return getRuleContext(DenyClassPrivilegesClauseContext.class,0);
41482 }
41483 public DenyClassTypePrivilegesClauseContext denyClassTypePrivilegesClause() {
41484 return getRuleContext(DenyClassTypePrivilegesClauseContext.class,0);
41485 }
41486 public DenyContext(ParserRuleContext parent, int invokingState) {
41487 super(parent, invokingState);
41488 }
41489 @Override public int getRuleIndex() { return RULE_deny; }
41490 @Override
41491 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41492 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDeny(this);
41493 else return visitor.visitChildren(this);
41494 }
41495 }
41496
41497 public final DenyContext deny() throws RecognitionException {
41498 DenyContext _localctx = new DenyContext(_ctx, getState());
41499 enterRule(_localctx, 804, RULE_deny);
41500 try {
41501 enterOuterAlt(_localctx, 1);
41502 {
41503 setState(5738);
41504 match(DENY);
41505 setState(5741);
41506 _errHandler.sync(this);
41507 switch ( getInterpreter().adaptivePredict(_input,676,_ctx) ) {
41508 case 1:
41509 {
41510 setState(5739);
41511 denyClassPrivilegesClause();
41512 }
41513 break;
41514 case 2:
41515 {
41516 setState(5740);
41517 denyClassTypePrivilegesClause();
41518 }
41519 break;
41520 }
41521 }
41522 }
41523 catch (RecognitionException re) {
41524 _localctx.exception = re;
41525 _errHandler.reportError(this, re);
41526 _errHandler.recover(this, re);
41527 }
41528 finally {
41529 exitRule();
41530 }
41531 return _localctx;
41532 }
41533
41534 public static class DenyClassPrivilegesClauseContext extends ParserRuleContext {
41535 public ClassPrivilegesContext classPrivileges() {
41536 return getRuleContext(ClassPrivilegesContext.class,0);
41537 }
41538 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
41539 public List<PrincipalContext> principal() {
41540 return getRuleContexts(PrincipalContext.class);
41541 }
41542 public PrincipalContext principal(int i) {
41543 return getRuleContext(PrincipalContext.class,i);
41544 }
41545 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
41546 public OnClassClauseContext onClassClause() {
41547 return getRuleContext(OnClassClauseContext.class,0);
41548 }
41549 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41550 public TerminalNode COMMA_(int i) {
41551 return getToken(SQLServerStatementParser.COMMA_, i);
41552 }
41553 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
41554 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
41555 public DenyClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
41556 super(parent, invokingState);
41557 }
41558 @Override public int getRuleIndex() { return RULE_denyClassPrivilegesClause; }
41559 @Override
41560 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41561 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDenyClassPrivilegesClause(this);
41562 else return visitor.visitChildren(this);
41563 }
41564 }
41565
41566 public final DenyClassPrivilegesClauseContext denyClassPrivilegesClause() throws RecognitionException {
41567 DenyClassPrivilegesClauseContext _localctx = new DenyClassPrivilegesClauseContext(_ctx, getState());
41568 enterRule(_localctx, 806, RULE_denyClassPrivilegesClause);
41569 int _la;
41570 try {
41571 enterOuterAlt(_localctx, 1);
41572 {
41573 setState(5743);
41574 classPrivileges();
41575 setState(5746);
41576 _errHandler.sync(this);
41577 _la = _input.LA(1);
41578 if (_la==ON) {
41579 {
41580 setState(5744);
41581 match(ON);
41582 setState(5745);
41583 onClassClause();
41584 }
41585 }
41586
41587 setState(5748);
41588 match(TO);
41589 setState(5749);
41590 principal();
41591 setState(5754);
41592 _errHandler.sync(this);
41593 _la = _input.LA(1);
41594 while (_la==COMMA_) {
41595 {
41596 {
41597 setState(5750);
41598 match(COMMA_);
41599 setState(5751);
41600 principal();
41601 }
41602 }
41603 setState(5756);
41604 _errHandler.sync(this);
41605 _la = _input.LA(1);
41606 }
41607 setState(5758);
41608 _errHandler.sync(this);
41609 _la = _input.LA(1);
41610 if (_la==CASCADE) {
41611 {
41612 setState(5757);
41613 match(CASCADE);
41614 }
41615 }
41616
41617 setState(5762);
41618 _errHandler.sync(this);
41619 _la = _input.LA(1);
41620 if (_la==AS) {
41621 {
41622 setState(5760);
41623 match(AS);
41624 setState(5761);
41625 principal();
41626 }
41627 }
41628
41629 }
41630 }
41631 catch (RecognitionException re) {
41632 _localctx.exception = re;
41633 _errHandler.reportError(this, re);
41634 _errHandler.recover(this, re);
41635 }
41636 finally {
41637 exitRule();
41638 }
41639 return _localctx;
41640 }
41641
41642 public static class DenyClassTypePrivilegesClauseContext extends ParserRuleContext {
41643 public ClassTypePrivilegesContext classTypePrivileges() {
41644 return getRuleContext(ClassTypePrivilegesContext.class,0);
41645 }
41646 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
41647 public List<PrincipalContext> principal() {
41648 return getRuleContexts(PrincipalContext.class);
41649 }
41650 public PrincipalContext principal(int i) {
41651 return getRuleContext(PrincipalContext.class,i);
41652 }
41653 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
41654 public OnClassTypeClauseContext onClassTypeClause() {
41655 return getRuleContext(OnClassTypeClauseContext.class,0);
41656 }
41657 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41658 public TerminalNode COMMA_(int i) {
41659 return getToken(SQLServerStatementParser.COMMA_, i);
41660 }
41661 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
41662 public DenyClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
41663 super(parent, invokingState);
41664 }
41665 @Override public int getRuleIndex() { return RULE_denyClassTypePrivilegesClause; }
41666 @Override
41667 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41668 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDenyClassTypePrivilegesClause(this);
41669 else return visitor.visitChildren(this);
41670 }
41671 }
41672
41673 public final DenyClassTypePrivilegesClauseContext denyClassTypePrivilegesClause() throws RecognitionException {
41674 DenyClassTypePrivilegesClauseContext _localctx = new DenyClassTypePrivilegesClauseContext(_ctx, getState());
41675 enterRule(_localctx, 808, RULE_denyClassTypePrivilegesClause);
41676 int _la;
41677 try {
41678 enterOuterAlt(_localctx, 1);
41679 {
41680 setState(5764);
41681 classTypePrivileges();
41682 setState(5767);
41683 _errHandler.sync(this);
41684 _la = _input.LA(1);
41685 if (_la==ON) {
41686 {
41687 setState(5765);
41688 match(ON);
41689 setState(5766);
41690 onClassTypeClause();
41691 }
41692 }
41693
41694 setState(5769);
41695 match(TO);
41696 setState(5770);
41697 principal();
41698 setState(5775);
41699 _errHandler.sync(this);
41700 _la = _input.LA(1);
41701 while (_la==COMMA_) {
41702 {
41703 {
41704 setState(5771);
41705 match(COMMA_);
41706 setState(5772);
41707 principal();
41708 }
41709 }
41710 setState(5777);
41711 _errHandler.sync(this);
41712 _la = _input.LA(1);
41713 }
41714 setState(5779);
41715 _errHandler.sync(this);
41716 _la = _input.LA(1);
41717 if (_la==CASCADE) {
41718 {
41719 setState(5778);
41720 match(CASCADE);
41721 }
41722 }
41723
41724 }
41725 }
41726 catch (RecognitionException re) {
41727 _localctx.exception = re;
41728 _errHandler.reportError(this, re);
41729 _errHandler.recover(this, re);
41730 }
41731 finally {
41732 exitRule();
41733 }
41734 return _localctx;
41735 }
41736
41737 public static class OptionForClauseContext extends ParserRuleContext {
41738 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
41739 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
41740 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
41741 public OptionForClauseContext(ParserRuleContext parent, int invokingState) {
41742 super(parent, invokingState);
41743 }
41744 @Override public int getRuleIndex() { return RULE_optionForClause; }
41745 @Override
41746 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41747 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionForClause(this);
41748 else return visitor.visitChildren(this);
41749 }
41750 }
41751
41752 public final OptionForClauseContext optionForClause() throws RecognitionException {
41753 OptionForClauseContext _localctx = new OptionForClauseContext(_ctx, getState());
41754 enterRule(_localctx, 810, RULE_optionForClause);
41755 try {
41756 enterOuterAlt(_localctx, 1);
41757 {
41758 setState(5781);
41759 match(GRANT);
41760 setState(5782);
41761 match(OPTION);
41762 setState(5783);
41763 match(FOR);
41764 }
41765 }
41766 catch (RecognitionException re) {
41767 _localctx.exception = re;
41768 _errHandler.reportError(this, re);
41769 _errHandler.recover(this, re);
41770 }
41771 finally {
41772 exitRule();
41773 }
41774 return _localctx;
41775 }
41776
41777 public static class PrivilegeTypeContext extends ParserRuleContext {
41778 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
41779 public TerminalNode PRIVILEGES() { return getToken(SQLServerStatementParser.PRIVILEGES, 0); }
41780 public AssemblyPermissionContext assemblyPermission() {
41781 return getRuleContext(AssemblyPermissionContext.class,0);
41782 }
41783 public AsymmetricKeyPermissionContext asymmetricKeyPermission() {
41784 return getRuleContext(AsymmetricKeyPermissionContext.class,0);
41785 }
41786 public AvailabilityGroupPermissionContext availabilityGroupPermission() {
41787 return getRuleContext(AvailabilityGroupPermissionContext.class,0);
41788 }
41789 public CertificatePermissionContext certificatePermission() {
41790 return getRuleContext(CertificatePermissionContext.class,0);
41791 }
41792 public ObjectPermissionContext objectPermission() {
41793 return getRuleContext(ObjectPermissionContext.class,0);
41794 }
41795 public SystemObjectPermissionContext systemObjectPermission() {
41796 return getRuleContext(SystemObjectPermissionContext.class,0);
41797 }
41798 public DatabasePermissionContext databasePermission() {
41799 return getRuleContext(DatabasePermissionContext.class,0);
41800 }
41801 public DatabasePrincipalPermissionContext databasePrincipalPermission() {
41802 return getRuleContext(DatabasePrincipalPermissionContext.class,0);
41803 }
41804 public DatabaseScopedCredentialPermissionContext databaseScopedCredentialPermission() {
41805 return getRuleContext(DatabaseScopedCredentialPermissionContext.class,0);
41806 }
41807 public EndpointPermissionContext endpointPermission() {
41808 return getRuleContext(EndpointPermissionContext.class,0);
41809 }
41810 public FullTextPermissionContext fullTextPermission() {
41811 return getRuleContext(FullTextPermissionContext.class,0);
41812 }
41813 public SchemaPermissionContext schemaPermission() {
41814 return getRuleContext(SchemaPermissionContext.class,0);
41815 }
41816 public SearchPropertyListPermissionContext searchPropertyListPermission() {
41817 return getRuleContext(SearchPropertyListPermissionContext.class,0);
41818 }
41819 public ServerPermissionContext serverPermission() {
41820 return getRuleContext(ServerPermissionContext.class,0);
41821 }
41822 public ServerPrincipalPermissionContext serverPrincipalPermission() {
41823 return getRuleContext(ServerPrincipalPermissionContext.class,0);
41824 }
41825 public ServiceBrokerPermissionContext serviceBrokerPermission() {
41826 return getRuleContext(ServiceBrokerPermissionContext.class,0);
41827 }
41828 public SymmetricKeyPermissionContext symmetricKeyPermission() {
41829 return getRuleContext(SymmetricKeyPermissionContext.class,0);
41830 }
41831 public TypePermissionContext typePermission() {
41832 return getRuleContext(TypePermissionContext.class,0);
41833 }
41834 public XmlSchemaCollectionPermissionContext xmlSchemaCollectionPermission() {
41835 return getRuleContext(XmlSchemaCollectionPermissionContext.class,0);
41836 }
41837 public PrivilegeTypeContext(ParserRuleContext parent, int invokingState) {
41838 super(parent, invokingState);
41839 }
41840 @Override public int getRuleIndex() { return RULE_privilegeType; }
41841 @Override
41842 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41843 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrivilegeType(this);
41844 else return visitor.visitChildren(this);
41845 }
41846 }
41847
41848 public final PrivilegeTypeContext privilegeType() throws RecognitionException {
41849 PrivilegeTypeContext _localctx = new PrivilegeTypeContext(_ctx, getState());
41850 enterRule(_localctx, 812, RULE_privilegeType);
41851 int _la;
41852 try {
41853 setState(5808);
41854 _errHandler.sync(this);
41855 switch ( getInterpreter().adaptivePredict(_input,685,_ctx) ) {
41856 case 1:
41857 enterOuterAlt(_localctx, 1);
41858 {
41859 setState(5785);
41860 match(ALL);
41861 setState(5787);
41862 _errHandler.sync(this);
41863 _la = _input.LA(1);
41864 if (_la==PRIVILEGES) {
41865 {
41866 setState(5786);
41867 match(PRIVILEGES);
41868 }
41869 }
41870
41871 }
41872 break;
41873 case 2:
41874 enterOuterAlt(_localctx, 2);
41875 {
41876 setState(5789);
41877 assemblyPermission();
41878 }
41879 break;
41880 case 3:
41881 enterOuterAlt(_localctx, 3);
41882 {
41883 setState(5790);
41884 asymmetricKeyPermission();
41885 }
41886 break;
41887 case 4:
41888 enterOuterAlt(_localctx, 4);
41889 {
41890 setState(5791);
41891 availabilityGroupPermission();
41892 }
41893 break;
41894 case 5:
41895 enterOuterAlt(_localctx, 5);
41896 {
41897 setState(5792);
41898 certificatePermission();
41899 }
41900 break;
41901 case 6:
41902 enterOuterAlt(_localctx, 6);
41903 {
41904 setState(5793);
41905 objectPermission();
41906 }
41907 break;
41908 case 7:
41909 enterOuterAlt(_localctx, 7);
41910 {
41911 setState(5794);
41912 systemObjectPermission();
41913 }
41914 break;
41915 case 8:
41916 enterOuterAlt(_localctx, 8);
41917 {
41918 setState(5795);
41919 databasePermission();
41920 }
41921 break;
41922 case 9:
41923 enterOuterAlt(_localctx, 9);
41924 {
41925 setState(5796);
41926 databasePrincipalPermission();
41927 }
41928 break;
41929 case 10:
41930 enterOuterAlt(_localctx, 10);
41931 {
41932 setState(5797);
41933 databaseScopedCredentialPermission();
41934 }
41935 break;
41936 case 11:
41937 enterOuterAlt(_localctx, 11);
41938 {
41939 setState(5798);
41940 endpointPermission();
41941 }
41942 break;
41943 case 12:
41944 enterOuterAlt(_localctx, 12);
41945 {
41946 setState(5799);
41947 fullTextPermission();
41948 }
41949 break;
41950 case 13:
41951 enterOuterAlt(_localctx, 13);
41952 {
41953 setState(5800);
41954 schemaPermission();
41955 }
41956 break;
41957 case 14:
41958 enterOuterAlt(_localctx, 14);
41959 {
41960 setState(5801);
41961 searchPropertyListPermission();
41962 }
41963 break;
41964 case 15:
41965 enterOuterAlt(_localctx, 15);
41966 {
41967 setState(5802);
41968 serverPermission();
41969 }
41970 break;
41971 case 16:
41972 enterOuterAlt(_localctx, 16);
41973 {
41974 setState(5803);
41975 serverPrincipalPermission();
41976 }
41977 break;
41978 case 17:
41979 enterOuterAlt(_localctx, 17);
41980 {
41981 setState(5804);
41982 serviceBrokerPermission();
41983 }
41984 break;
41985 case 18:
41986 enterOuterAlt(_localctx, 18);
41987 {
41988 setState(5805);
41989 symmetricKeyPermission();
41990 }
41991 break;
41992 case 19:
41993 enterOuterAlt(_localctx, 19);
41994 {
41995 setState(5806);
41996 typePermission();
41997 }
41998 break;
41999 case 20:
42000 enterOuterAlt(_localctx, 20);
42001 {
42002 setState(5807);
42003 xmlSchemaCollectionPermission();
42004 }
42005 break;
42006 }
42007 }
42008 catch (RecognitionException re) {
42009 _localctx.exception = re;
42010 _errHandler.reportError(this, re);
42011 _errHandler.recover(this, re);
42012 }
42013 finally {
42014 exitRule();
42015 }
42016 return _localctx;
42017 }
42018
42019 public static class ObjectPermissionContext extends ParserRuleContext {
42020 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
42021 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
42022 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
42023 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
42024 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
42025 public TerminalNode RECEIVE() { return getToken(SQLServerStatementParser.RECEIVE, 0); }
42026 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
42027 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
42028 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
42029 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
42030 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
42031 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
42032 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
42033 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
42034 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
42035 public ObjectPermissionContext(ParserRuleContext parent, int invokingState) {
42036 super(parent, invokingState);
42037 }
42038 @Override public int getRuleIndex() { return RULE_objectPermission; }
42039 @Override
42040 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42041 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitObjectPermission(this);
42042 else return visitor.visitChildren(this);
42043 }
42044 }
42045
42046 public final ObjectPermissionContext objectPermission() throws RecognitionException {
42047 ObjectPermissionContext _localctx = new ObjectPermissionContext(_ctx, getState());
42048 enterRule(_localctx, 814, RULE_objectPermission);
42049 try {
42050 setState(5826);
42051 _errHandler.sync(this);
42052 switch ( getInterpreter().adaptivePredict(_input,686,_ctx) ) {
42053 case 1:
42054 enterOuterAlt(_localctx, 1);
42055 {
42056 setState(5810);
42057 match(ALTER);
42058 }
42059 break;
42060 case 2:
42061 enterOuterAlt(_localctx, 2);
42062 {
42063 setState(5811);
42064 match(CONTROL);
42065 }
42066 break;
42067 case 3:
42068 enterOuterAlt(_localctx, 3);
42069 {
42070 setState(5812);
42071 match(DELETE);
42072 }
42073 break;
42074 case 4:
42075 enterOuterAlt(_localctx, 4);
42076 {
42077 setState(5813);
42078 match(EXECUTE);
42079 }
42080 break;
42081 case 5:
42082 enterOuterAlt(_localctx, 5);
42083 {
42084 setState(5814);
42085 match(INSERT);
42086 }
42087 break;
42088 case 6:
42089 enterOuterAlt(_localctx, 6);
42090 {
42091 setState(5815);
42092 match(RECEIVE);
42093 }
42094 break;
42095 case 7:
42096 enterOuterAlt(_localctx, 7);
42097 {
42098 setState(5816);
42099 match(REFERENCES);
42100 }
42101 break;
42102 case 8:
42103 enterOuterAlt(_localctx, 8);
42104 {
42105 setState(5817);
42106 match(SELECT);
42107 }
42108 break;
42109 case 9:
42110 enterOuterAlt(_localctx, 9);
42111 {
42112 setState(5818);
42113 match(TAKE);
42114 setState(5819);
42115 match(OWNERSHIP);
42116 }
42117 break;
42118 case 10:
42119 enterOuterAlt(_localctx, 10);
42120 {
42121 setState(5820);
42122 match(UPDATE);
42123 }
42124 break;
42125 case 11:
42126 enterOuterAlt(_localctx, 11);
42127 {
42128 setState(5821);
42129 match(VIEW);
42130 setState(5822);
42131 match(CHANGE);
42132 setState(5823);
42133 match(TRACKING);
42134 }
42135 break;
42136 case 12:
42137 enterOuterAlt(_localctx, 12);
42138 {
42139 setState(5824);
42140 match(VIEW);
42141 setState(5825);
42142 match(DEFINITION);
42143 }
42144 break;
42145 }
42146 }
42147 catch (RecognitionException re) {
42148 _localctx.exception = re;
42149 _errHandler.reportError(this, re);
42150 _errHandler.recover(this, re);
42151 }
42152 finally {
42153 exitRule();
42154 }
42155 return _localctx;
42156 }
42157
42158 public static class ServerPermissionContext extends ParserRuleContext {
42159 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
42160 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
42161 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
42162 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
42163 public TerminalNode RESOURCES() { return getToken(SQLServerStatementParser.RESOURCES, 0); }
42164 public TerminalNode SETTINGS() { return getToken(SQLServerStatementParser.SETTINGS, 0); }
42165 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
42166 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
42167 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
42168 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
42169 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
42170 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
42171 public TerminalNode CONNECTION() { return getToken(SQLServerStatementParser.CONNECTION, 0); }
42172 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
42173 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
42174 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
42175 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
42176 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
42177 public TerminalNode SESSION() { return getToken(SQLServerStatementParser.SESSION, 0); }
42178 public TerminalNode LINKED() { return getToken(SQLServerStatementParser.LINKED, 0); }
42179 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
42180 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
42181 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
42182 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
42183 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
42184 public TerminalNode SQL() { return getToken(SQLServerStatementParser.SQL, 0); }
42185 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
42186 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
42187 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
42188 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
42189 public TerminalNode ACCESS() { return getToken(SQLServerStatementParser.ACCESS, 0); }
42190 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
42191 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
42192 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
42193 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
42194 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
42195 public TerminalNode SECURABLES() { return getToken(SQLServerStatementParser.SECURABLES, 0); }
42196 public TerminalNode SHUTDOWN() { return getToken(SQLServerStatementParser.SHUTDOWN, 0); }
42197 public TerminalNode UNSAFE() { return getToken(SQLServerStatementParser.UNSAFE, 0); }
42198 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
42199 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
42200 public ServerPermissionContext(ParserRuleContext parent, int invokingState) {
42201 super(parent, invokingState);
42202 }
42203 @Override public int getRuleIndex() { return RULE_serverPermission; }
42204 @Override
42205 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42206 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServerPermission(this);
42207 else return visitor.visitChildren(this);
42208 }
42209 }
42210
42211 public final ServerPermissionContext serverPermission() throws RecognitionException {
42212 ServerPermissionContext _localctx = new ServerPermissionContext(_ctx, getState());
42213 enterRule(_localctx, 816, RULE_serverPermission);
42214 int _la;
42215 try {
42216 setState(5905);
42217 _errHandler.sync(this);
42218 switch ( getInterpreter().adaptivePredict(_input,690,_ctx) ) {
42219 case 1:
42220 enterOuterAlt(_localctx, 1);
42221 {
42222 setState(5828);
42223 match(ADMINISTER);
42224 setState(5829);
42225 match(BULK);
42226 setState(5830);
42227 match(OPERATIONS);
42228 }
42229 break;
42230 case 2:
42231 enterOuterAlt(_localctx, 2);
42232 {
42233 setState(5831);
42234 match(ALTER);
42235 setState(5837);
42236 _errHandler.sync(this);
42237 switch (_input.LA(1)) {
42238 case RESOURCES:
42239 {
42240 setState(5832);
42241 match(RESOURCES);
42242 }
42243 break;
42244 case SETTINGS:
42245 {
42246 setState(5833);
42247 match(SETTINGS);
42248 }
42249 break;
42250 case TRACE:
42251 {
42252 setState(5834);
42253 match(TRACE);
42254 }
42255 break;
42256 case SERVER:
42257 {
42258 setState(5835);
42259 match(SERVER);
42260 setState(5836);
42261 match(STATE);
42262 }
42263 break;
42264 default:
42265 throw new NoViableAltException(this);
42266 }
42267 }
42268 break;
42269 case 3:
42270 enterOuterAlt(_localctx, 3);
42271 {
42272 setState(5839);
42273 match(ALTER);
42274 setState(5840);
42275 match(ANY);
42276 setState(5858);
42277 _errHandler.sync(this);
42278 switch ( getInterpreter().adaptivePredict(_input,688,_ctx) ) {
42279 case 1:
42280 {
42281 setState(5841);
42282 match(AVAILABILITY);
42283 setState(5842);
42284 match(GROUP);
42285 }
42286 break;
42287 case 2:
42288 {
42289 setState(5843);
42290 match(CONNECTION);
42291 }
42292 break;
42293 case 3:
42294 {
42295 setState(5844);
42296 match(CREDENTIAL);
42297 }
42298 break;
42299 case 4:
42300 {
42301 setState(5845);
42302 match(DATABASE);
42303 }
42304 break;
42305 case 5:
42306 {
42307 setState(5846);
42308 match(ENDPOINT);
42309 }
42310 break;
42311 case 6:
42312 {
42313 setState(5847);
42314 match(EVENT);
42315 setState(5848);
42316 match(NOTIFICATION);
42317 }
42318 break;
42319 case 7:
42320 {
42321 setState(5849);
42322 match(EVENT);
42323 setState(5850);
42324 match(SESSION);
42325 }
42326 break;
42327 case 8:
42328 {
42329 setState(5851);
42330 match(LINKED);
42331 setState(5852);
42332 match(SERVER);
42333 }
42334 break;
42335 case 9:
42336 {
42337 setState(5853);
42338 match(LOGIN);
42339 }
42340 break;
42341 case 10:
42342 {
42343 setState(5854);
42344 match(SERVER);
42345 setState(5855);
42346 match(AUDIT);
42347 }
42348 break;
42349 case 11:
42350 {
42351 setState(5856);
42352 match(SERVER);
42353 setState(5857);
42354 match(ROLE);
42355 }
42356 break;
42357 }
42358 }
42359 break;
42360 case 4:
42361 enterOuterAlt(_localctx, 4);
42362 {
42363 setState(5860);
42364 match(AUTHENTICATE);
42365 setState(5861);
42366 match(SERVER);
42367 }
42368 break;
42369 case 5:
42370 enterOuterAlt(_localctx, 5);
42371 {
42372 setState(5862);
42373 match(CONNECT);
42374 setState(5863);
42375 match(ANY);
42376 setState(5864);
42377 match(DATABASE);
42378 }
42379 break;
42380 case 6:
42381 enterOuterAlt(_localctx, 6);
42382 {
42383 setState(5865);
42384 match(CONNECT);
42385 setState(5866);
42386 match(SQL);
42387 }
42388 break;
42389 case 7:
42390 enterOuterAlt(_localctx, 7);
42391 {
42392 setState(5867);
42393 match(CONTROL);
42394 setState(5868);
42395 match(SERVER);
42396 }
42397 break;
42398 case 8:
42399 enterOuterAlt(_localctx, 8);
42400 {
42401 setState(5869);
42402 match(CREATE);
42403 setState(5870);
42404 match(ANY);
42405 setState(5871);
42406 match(DATABASE);
42407 }
42408 break;
42409 case 9:
42410 enterOuterAlt(_localctx, 9);
42411 {
42412 setState(5872);
42413 match(CREATE);
42414 setState(5884);
42415 _errHandler.sync(this);
42416 switch (_input.LA(1)) {
42417 case AVAILABILITY:
42418 {
42419 setState(5873);
42420 match(AVAILABILITY);
42421 setState(5874);
42422 match(GROUP);
42423 }
42424 break;
42425 case DDL:
42426 {
42427 setState(5875);
42428 match(DDL);
42429 setState(5876);
42430 match(EVENT);
42431 setState(5877);
42432 match(NOTIFICATION);
42433 }
42434 break;
42435 case ENDPOINT:
42436 {
42437 setState(5878);
42438 match(ENDPOINT);
42439 }
42440 break;
42441 case SERVER:
42442 {
42443 setState(5879);
42444 match(SERVER);
42445 setState(5880);
42446 match(ROLE);
42447 }
42448 break;
42449 case TRACE:
42450 {
42451 setState(5881);
42452 match(TRACE);
42453 setState(5882);
42454 match(EVENT);
42455 setState(5883);
42456 match(NOTIFICATION);
42457 }
42458 break;
42459 default:
42460 throw new NoViableAltException(this);
42461 }
42462 }
42463 break;
42464 case 10:
42465 enterOuterAlt(_localctx, 10);
42466 {
42467 setState(5886);
42468 match(EXTERNAL);
42469 setState(5887);
42470 match(ACCESS);
42471 setState(5888);
42472 match(ASSEMBLY);
42473 }
42474 break;
42475 case 11:
42476 enterOuterAlt(_localctx, 11);
42477 {
42478 setState(5889);
42479 match(IMPERSONATE);
42480 setState(5890);
42481 match(ANY);
42482 setState(5891);
42483 match(LOGIN);
42484 }
42485 break;
42486 case 12:
42487 enterOuterAlt(_localctx, 12);
42488 {
42489 setState(5892);
42490 match(SELECT);
42491 setState(5893);
42492 match(ALL);
42493 setState(5894);
42494 match(USER);
42495 setState(5895);
42496 match(SECURABLES);
42497 }
42498 break;
42499 case 13:
42500 enterOuterAlt(_localctx, 13);
42501 {
42502 setState(5896);
42503 match(SHUTDOWN);
42504 }
42505 break;
42506 case 14:
42507 enterOuterAlt(_localctx, 14);
42508 {
42509 setState(5897);
42510 match(UNSAFE);
42511 setState(5898);
42512 match(ASSEMBLY);
42513 }
42514 break;
42515 case 15:
42516 enterOuterAlt(_localctx, 15);
42517 {
42518 setState(5899);
42519 match(VIEW);
42520 setState(5900);
42521 match(ANY);
42522 setState(5901);
42523 _la = _input.LA(1);
42524 if ( !(_la==DATABASE || _la==DEFINITION) ) {
42525 _errHandler.recoverInline(this);
42526 }
42527 else {
42528 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
42529 _errHandler.reportMatch(this);
42530 consume();
42531 }
42532 }
42533 break;
42534 case 16:
42535 enterOuterAlt(_localctx, 16);
42536 {
42537 setState(5902);
42538 match(VIEW);
42539 setState(5903);
42540 match(SERVER);
42541 setState(5904);
42542 match(STATE);
42543 }
42544 break;
42545 }
42546 }
42547 catch (RecognitionException re) {
42548 _localctx.exception = re;
42549 _errHandler.reportError(this, re);
42550 _errHandler.recover(this, re);
42551 }
42552 finally {
42553 exitRule();
42554 }
42555 return _localctx;
42556 }
42557
42558 public static class ServerPrincipalPermissionContext extends ParserRuleContext {
42559 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
42560 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
42561 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
42562 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
42563 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
42564 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
42565 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
42566 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
42567 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
42568 public ServerPrincipalPermissionContext(ParserRuleContext parent, int invokingState) {
42569 super(parent, invokingState);
42570 }
42571 @Override public int getRuleIndex() { return RULE_serverPrincipalPermission; }
42572 @Override
42573 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42574 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServerPrincipalPermission(this);
42575 else return visitor.visitChildren(this);
42576 }
42577 }
42578
42579 public final ServerPrincipalPermissionContext serverPrincipalPermission() throws RecognitionException {
42580 ServerPrincipalPermissionContext _localctx = new ServerPrincipalPermissionContext(_ctx, getState());
42581 enterRule(_localctx, 818, RULE_serverPrincipalPermission);
42582 int _la;
42583 try {
42584 setState(5925);
42585 _errHandler.sync(this);
42586 switch ( getInterpreter().adaptivePredict(_input,694,_ctx) ) {
42587 case 1:
42588 enterOuterAlt(_localctx, 1);
42589 {
42590 setState(5907);
42591 match(CONTROL);
42592 setState(5909);
42593 _errHandler.sync(this);
42594 _la = _input.LA(1);
42595 if (_la==SERVER) {
42596 {
42597 setState(5908);
42598 match(SERVER);
42599 }
42600 }
42601
42602 }
42603 break;
42604 case 2:
42605 enterOuterAlt(_localctx, 2);
42606 {
42607 setState(5911);
42608 match(IMPERSONATE);
42609 }
42610 break;
42611 case 3:
42612 enterOuterAlt(_localctx, 3);
42613 {
42614 setState(5912);
42615 match(VIEW);
42616 setState(5914);
42617 _errHandler.sync(this);
42618 _la = _input.LA(1);
42619 if (_la==ANY) {
42620 {
42621 setState(5913);
42622 match(ANY);
42623 }
42624 }
42625
42626 setState(5916);
42627 match(DEFINITION);
42628 }
42629 break;
42630 case 4:
42631 enterOuterAlt(_localctx, 4);
42632 {
42633 setState(5917);
42634 match(ALTER);
42635 }
42636 break;
42637 case 5:
42638 enterOuterAlt(_localctx, 5);
42639 {
42640 setState(5918);
42641 match(ALTER);
42642 setState(5919);
42643 match(ANY);
42644 setState(5923);
42645 _errHandler.sync(this);
42646 switch (_input.LA(1)) {
42647 case LOGIN:
42648 {
42649 setState(5920);
42650 match(LOGIN);
42651 }
42652 break;
42653 case SERVER:
42654 {
42655 setState(5921);
42656 match(SERVER);
42657 setState(5922);
42658 match(ROLE);
42659 }
42660 break;
42661 default:
42662 throw new NoViableAltException(this);
42663 }
42664 }
42665 break;
42666 }
42667 }
42668 catch (RecognitionException re) {
42669 _localctx.exception = re;
42670 _errHandler.reportError(this, re);
42671 _errHandler.recover(this, re);
42672 }
42673 finally {
42674 exitRule();
42675 }
42676 return _localctx;
42677 }
42678
42679 public static class DatabasePermissionContext extends ParserRuleContext {
42680 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
42681 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
42682 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
42683 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
42684 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
42685 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
42686 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
42687 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
42688 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
42689 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
42690 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
42691 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
42692 public TerminalNode CONNECTION() { return getToken(SQLServerStatementParser.CONNECTION, 0); }
42693 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
42694 public TerminalNode MASTER() { return getToken(SQLServerStatementParser.MASTER, 0); }
42695 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
42696 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
42697 public TerminalNode DATASPACE() { return getToken(SQLServerStatementParser.DATASPACE, 0); }
42698 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
42699 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
42700 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
42701 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
42702 public TerminalNode MASK() { return getToken(SQLServerStatementParser.MASK, 0); }
42703 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
42704 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
42705 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
42706 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
42707 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
42708 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
42709 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
42710 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
42711 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
42712 public TerminalNode SECURITY() { return getToken(SQLServerStatementParser.SECURITY, 0); }
42713 public TerminalNode POLICY() { return getToken(SQLServerStatementParser.POLICY, 0); }
42714 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
42715 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
42716 public TerminalNode SESSION() { return getToken(SQLServerStatementParser.SESSION, 0); }
42717 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
42718 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
42719 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
42720 public TerminalNode DATA() { return getToken(SQLServerStatementParser.DATA, 0); }
42721 public TerminalNode SOURCE() { return getToken(SQLServerStatementParser.SOURCE, 0); }
42722 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
42723 public TerminalNode FORMAT() { return getToken(SQLServerStatementParser.FORMAT, 0); }
42724 public TerminalNode LIBRARY() { return getToken(SQLServerStatementParser.LIBRARY, 0); }
42725 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
42726 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
42727 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
42728 public TerminalNode CONFIGURATION() { return getToken(SQLServerStatementParser.CONFIGURATION, 0); }
42729 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
42730 public TerminalNode BACKUP() { return getToken(SQLServerStatementParser.BACKUP, 0); }
42731 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
42732 public TerminalNode CHECKPOINT() { return getToken(SQLServerStatementParser.CHECKPOINT, 0); }
42733 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
42734 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
42735 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
42736 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
42737 public TerminalNode AGGREGATE() { return getToken(SQLServerStatementParser.AGGREGATE, 0); }
42738 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
42739 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
42740 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
42741 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
42742 public TerminalNode RULE() { return getToken(SQLServerStatementParser.RULE, 0); }
42743 public TerminalNode SYNONYM() { return getToken(SQLServerStatementParser.SYNONYM, 0); }
42744 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
42745 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
42746 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
42747 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
42748 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
42749 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
42750 public TerminalNode SCRIPT() { return getToken(SQLServerStatementParser.SCRIPT, 0); }
42751 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
42752 public TerminalNode KILL() { return getToken(SQLServerStatementParser.KILL, 0); }
42753 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
42754 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
42755 public TerminalNode SHOWPLAN() { return getToken(SQLServerStatementParser.SHOWPLAN, 0); }
42756 public TerminalNode SUBSCRIBE() { return getToken(SQLServerStatementParser.SUBSCRIBE, 0); }
42757 public TerminalNode QUERY() { return getToken(SQLServerStatementParser.QUERY, 0); }
42758 public TerminalNode NOTIFICATIONS() { return getToken(SQLServerStatementParser.NOTIFICATIONS, 0); }
42759 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
42760 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
42761 public TerminalNode UNMASK() { return getToken(SQLServerStatementParser.UNMASK, 0); }
42762 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
42763 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
42764 public DatabasePermissionContext(ParserRuleContext parent, int invokingState) {
42765 super(parent, invokingState);
42766 }
42767 @Override public int getRuleIndex() { return RULE_databasePermission; }
42768 @Override
42769 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42770 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabasePermission(this);
42771 else return visitor.visitChildren(this);
42772 }
42773 }
42774
42775 public final DatabasePermissionContext databasePermission() throws RecognitionException {
42776 DatabasePermissionContext _localctx = new DatabasePermissionContext(_ctx, getState());
42777 enterRule(_localctx, 820, RULE_databasePermission);
42778 int _la;
42779 try {
42780 setState(6094);
42781 _errHandler.sync(this);
42782 switch ( getInterpreter().adaptivePredict(_input,707,_ctx) ) {
42783 case 1:
42784 enterOuterAlt(_localctx, 1);
42785 {
42786 setState(5927);
42787 match(ADMINISTER);
42788 setState(5928);
42789 match(DATABASE);
42790 setState(5929);
42791 match(BULK);
42792 setState(5930);
42793 match(OPERATIONS);
42794 }
42795 break;
42796 case 2:
42797 enterOuterAlt(_localctx, 2);
42798 {
42799 setState(5931);
42800 match(ALTER);
42801 }
42802 break;
42803 case 3:
42804 enterOuterAlt(_localctx, 3);
42805 {
42806 setState(5932);
42807 match(ALTER);
42808 setState(5933);
42809 match(TRACE);
42810 }
42811 break;
42812 case 4:
42813 enterOuterAlt(_localctx, 4);
42814 {
42815 setState(5934);
42816 match(ALTER);
42817 setState(5935);
42818 match(ANY);
42819 setState(5993);
42820 _errHandler.sync(this);
42821 switch ( getInterpreter().adaptivePredict(_input,698,_ctx) ) {
42822 case 1:
42823 {
42824 setState(5936);
42825 match(APPLICATION);
42826 setState(5937);
42827 match(ROLE);
42828 }
42829 break;
42830 case 2:
42831 {
42832 setState(5938);
42833 match(ASSEMBLY);
42834 }
42835 break;
42836 case 3:
42837 {
42838 setState(5943);
42839 _errHandler.sync(this);
42840 switch (_input.LA(1)) {
42841 case SYMMETRIC:
42842 {
42843 setState(5939);
42844 match(SYMMETRIC);
42845 }
42846 break;
42847 case ASYMMETRIC:
42848 {
42849 setState(5940);
42850 match(ASYMMETRIC);
42851 }
42852 break;
42853 case COLUMN:
42854 {
42855 setState(5941);
42856 match(COLUMN);
42857 setState(5942);
42858 match(ENCRYPTION);
42859 }
42860 break;
42861 default:
42862 throw new NoViableAltException(this);
42863 }
42864 setState(5945);
42865 match(KEY);
42866 }
42867 break;
42868 case 4:
42869 {
42870 setState(5946);
42871 match(CERTIFICATE);
42872 }
42873 break;
42874 case 5:
42875 {
42876 setState(5947);
42877 match(CONNECTION);
42878 }
42879 break;
42880 case 6:
42881 {
42882 setState(5948);
42883 match(COLUMN);
42884 setState(5949);
42885 match(MASTER);
42886 setState(5950);
42887 match(KEY);
42888 setState(5951);
42889 match(DEFINITION);
42890 }
42891 break;
42892 case 7:
42893 {
42894 setState(5952);
42895 match(CONTRACT);
42896 }
42897 break;
42898 case 8:
42899 {
42900 setState(5953);
42901 match(DATABASE);
42902 setState(5963);
42903 _errHandler.sync(this);
42904 switch ( getInterpreter().adaptivePredict(_input,696,_ctx) ) {
42905 case 1:
42906 {
42907 setState(5954);
42908 match(AUDIT);
42909 }
42910 break;
42911 case 2:
42912 {
42913 setState(5955);
42914 match(DDL);
42915 setState(5956);
42916 match(TRIGGER);
42917 }
42918 break;
42919 case 3:
42920 {
42921 setState(5957);
42922 match(EVENT);
42923 setState(5958);
42924 match(NOTIFICATION);
42925 }
42926 break;
42927 case 4:
42928 {
42929 setState(5959);
42930 match(EVENT);
42931 setState(5960);
42932 match(SESSION);
42933 }
42934 break;
42935 case 5:
42936 {
42937 setState(5961);
42938 match(SCOPED);
42939 setState(5962);
42940 match(CONFIGURATION);
42941 }
42942 break;
42943 }
42944 }
42945 break;
42946 case 9:
42947 {
42948 setState(5965);
42949 match(DATASPACE);
42950 }
42951 break;
42952 case 10:
42953 {
42954 setState(5966);
42955 match(EVENT);
42956 setState(5967);
42957 _la = _input.LA(1);
42958 if ( !(_la==SESSION || _la==NOTIFICATION) ) {
42959 _errHandler.recoverInline(this);
42960 }
42961 else {
42962 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
42963 _errHandler.reportMatch(this);
42964 consume();
42965 }
42966 }
42967 break;
42968 case 11:
42969 {
42970 setState(5968);
42971 match(EXTERNAL);
42972 setState(5974);
42973 _errHandler.sync(this);
42974 switch (_input.LA(1)) {
42975 case DATA:
42976 {
42977 setState(5969);
42978 match(DATA);
42979 setState(5970);
42980 match(SOURCE);
42981 }
42982 break;
42983 case FILE:
42984 {
42985 setState(5971);
42986 match(FILE);
42987 setState(5972);
42988 match(FORMAT);
42989 }
42990 break;
42991 case LIBRARY:
42992 {
42993 setState(5973);
42994 match(LIBRARY);
42995 }
42996 break;
42997 default:
42998 throw new NoViableAltException(this);
42999 }
43000 }
43001 break;
43002 case 12:
43003 {
43004 setState(5976);
43005 match(FULLTEXT);
43006 setState(5977);
43007 match(CATALOG);
43008 }
43009 break;
43010 case 13:
43011 {
43012 setState(5978);
43013 match(MASK);
43014 }
43015 break;
43016 case 14:
43017 {
43018 setState(5979);
43019 match(MESSAGE);
43020 setState(5980);
43021 match(TYPE);
43022 }
43023 break;
43024 case 15:
43025 {
43026 setState(5981);
43027 match(REMOTE);
43028 setState(5982);
43029 match(SERVICE);
43030 setState(5983);
43031 match(BINDING);
43032 }
43033 break;
43034 case 16:
43035 {
43036 setState(5984);
43037 match(ROLE);
43038 }
43039 break;
43040 case 17:
43041 {
43042 setState(5985);
43043 match(ROUTE);
43044 }
43045 break;
43046 case 18:
43047 {
43048 setState(5986);
43049 match(SERVER);
43050 setState(5987);
43051 match(AUDIT);
43052 }
43053 break;
43054 case 19:
43055 {
43056 setState(5988);
43057 match(SCHEMA);
43058 }
43059 break;
43060 case 20:
43061 {
43062 setState(5989);
43063 match(SECURITY);
43064 setState(5990);
43065 match(POLICY);
43066 }
43067 break;
43068 case 21:
43069 {
43070 setState(5991);
43071 match(SERVICE);
43072 }
43073 break;
43074 case 22:
43075 {
43076 setState(5992);
43077 match(USER);
43078 }
43079 break;
43080 }
43081 }
43082 break;
43083 case 5:
43084 enterOuterAlt(_localctx, 5);
43085 {
43086 setState(5995);
43087 match(AUTHENTICATE);
43088 setState(5997);
43089 _errHandler.sync(this);
43090 _la = _input.LA(1);
43091 if (_la==SERVER) {
43092 {
43093 setState(5996);
43094 match(SERVER);
43095 }
43096 }
43097
43098 }
43099 break;
43100 case 6:
43101 enterOuterAlt(_localctx, 6);
43102 {
43103 setState(5999);
43104 match(BACKUP);
43105 setState(6000);
43106 _la = _input.LA(1);
43107 if ( !(_la==DATABASE || _la==LOG) ) {
43108 _errHandler.recoverInline(this);
43109 }
43110 else {
43111 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
43112 _errHandler.reportMatch(this);
43113 consume();
43114 }
43115 }
43116 break;
43117 case 7:
43118 enterOuterAlt(_localctx, 7);
43119 {
43120 setState(6001);
43121 match(CHECKPOINT);
43122 }
43123 break;
43124 case 8:
43125 enterOuterAlt(_localctx, 8);
43126 {
43127 setState(6002);
43128 match(CONNECT);
43129 }
43130 break;
43131 case 9:
43132 enterOuterAlt(_localctx, 9);
43133 {
43134 setState(6003);
43135 match(CONNECT);
43136 setState(6005);
43137 _errHandler.sync(this);
43138 _la = _input.LA(1);
43139 if (_la==REPLICATION) {
43140 {
43141 setState(6004);
43142 match(REPLICATION);
43143 }
43144 }
43145
43146 }
43147 break;
43148 case 10:
43149 enterOuterAlt(_localctx, 10);
43150 {
43151 setState(6007);
43152 match(CONTROL);
43153 setState(6009);
43154 _errHandler.sync(this);
43155 _la = _input.LA(1);
43156 if (_la==SERVER) {
43157 {
43158 setState(6008);
43159 match(SERVER);
43160 }
43161 }
43162
43163 }
43164 break;
43165 case 11:
43166 enterOuterAlt(_localctx, 11);
43167 {
43168 setState(6011);
43169 match(CREATE);
43170 setState(6048);
43171 _errHandler.sync(this);
43172 switch ( getInterpreter().adaptivePredict(_input,703,_ctx) ) {
43173 case 1:
43174 {
43175 setState(6012);
43176 match(AGGREGATE);
43177 }
43178 break;
43179 case 2:
43180 {
43181 setState(6013);
43182 match(ASSEMBLY);
43183 }
43184 break;
43185 case 3:
43186 {
43187 setState(6014);
43188 _la = _input.LA(1);
43189 if ( !(_la==SYMMETRIC || _la==ASYMMETRIC) ) {
43190 _errHandler.recoverInline(this);
43191 }
43192 else {
43193 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
43194 _errHandler.reportMatch(this);
43195 consume();
43196 }
43197 setState(6015);
43198 match(KEY);
43199 }
43200 break;
43201 case 4:
43202 {
43203 setState(6016);
43204 match(CERTIFICATE);
43205 }
43206 break;
43207 case 5:
43208 {
43209 setState(6017);
43210 match(CONTRACT);
43211 }
43212 break;
43213 case 6:
43214 {
43215 setState(6018);
43216 match(DATABASE);
43217 }
43218 break;
43219 case 7:
43220 {
43221 setState(6020);
43222 _errHandler.sync(this);
43223 _la = _input.LA(1);
43224 if (_la==DATABASE) {
43225 {
43226 setState(6019);
43227 match(DATABASE);
43228 }
43229 }
43230
43231 setState(6022);
43232 match(DDL);
43233 setState(6023);
43234 match(EVENT);
43235 setState(6024);
43236 match(NOTIFICATION);
43237 }
43238 break;
43239 case 8:
43240 {
43241 setState(6025);
43242 match(DEFAULT);
43243 }
43244 break;
43245 case 9:
43246 {
43247 setState(6026);
43248 match(FULLTEXT);
43249 setState(6027);
43250 match(CATALOG);
43251 }
43252 break;
43253 case 10:
43254 {
43255 setState(6028);
43256 match(FUNCTION);
43257 }
43258 break;
43259 case 11:
43260 {
43261 setState(6029);
43262 match(MESSAGE);
43263 setState(6030);
43264 match(TYPE);
43265 }
43266 break;
43267 case 12:
43268 {
43269 setState(6031);
43270 match(PROCEDURE);
43271 }
43272 break;
43273 case 13:
43274 {
43275 setState(6032);
43276 match(QUEUE);
43277 }
43278 break;
43279 case 14:
43280 {
43281 setState(6033);
43282 match(REMOTE);
43283 setState(6034);
43284 match(SERVICE);
43285 setState(6035);
43286 match(BINDING);
43287 }
43288 break;
43289 case 15:
43290 {
43291 setState(6036);
43292 match(ROLE);
43293 }
43294 break;
43295 case 16:
43296 {
43297 setState(6037);
43298 match(ROUTE);
43299 }
43300 break;
43301 case 17:
43302 {
43303 setState(6038);
43304 match(RULE);
43305 }
43306 break;
43307 case 18:
43308 {
43309 setState(6039);
43310 match(SCHEMA);
43311 }
43312 break;
43313 case 19:
43314 {
43315 setState(6040);
43316 match(SERVICE);
43317 }
43318 break;
43319 case 20:
43320 {
43321 setState(6041);
43322 match(SYNONYM);
43323 }
43324 break;
43325 case 21:
43326 {
43327 setState(6042);
43328 match(TABLE);
43329 }
43330 break;
43331 case 22:
43332 {
43333 setState(6043);
43334 match(TYPE);
43335 }
43336 break;
43337 case 23:
43338 {
43339 setState(6044);
43340 match(VIEW);
43341 }
43342 break;
43343 case 24:
43344 {
43345 setState(6045);
43346 match(XML);
43347 setState(6046);
43348 match(SCHEMA);
43349 setState(6047);
43350 match(COLLECTION);
43351 }
43352 break;
43353 }
43354 }
43355 break;
43356 case 12:
43357 enterOuterAlt(_localctx, 12);
43358 {
43359 setState(6050);
43360 match(DELETE);
43361 }
43362 break;
43363 case 13:
43364 enterOuterAlt(_localctx, 13);
43365 {
43366 setState(6051);
43367 match(EXECUTE);
43368 }
43369 break;
43370 case 14:
43371 enterOuterAlt(_localctx, 14);
43372 {
43373 setState(6052);
43374 match(EXECUTE);
43375 setState(6054);
43376 _errHandler.sync(this);
43377 _la = _input.LA(1);
43378 if (_la==ANY) {
43379 {
43380 setState(6053);
43381 match(ANY);
43382 }
43383 }
43384
43385 setState(6056);
43386 match(EXTERNAL);
43387 setState(6057);
43388 match(SCRIPT);
43389 }
43390 break;
43391 case 15:
43392 enterOuterAlt(_localctx, 15);
43393 {
43394 setState(6058);
43395 match(INSERT);
43396 }
43397 break;
43398 case 16:
43399 enterOuterAlt(_localctx, 16);
43400 {
43401 setState(6059);
43402 match(KILL);
43403 setState(6060);
43404 match(DATABASE);
43405 setState(6061);
43406 match(CONNECTION);
43407 }
43408 break;
43409 case 17:
43410 enterOuterAlt(_localctx, 17);
43411 {
43412 setState(6062);
43413 match(REFERENCES);
43414 }
43415 break;
43416 case 18:
43417 enterOuterAlt(_localctx, 18);
43418 {
43419 setState(6063);
43420 match(SELECT);
43421 }
43422 break;
43423 case 19:
43424 enterOuterAlt(_localctx, 19);
43425 {
43426 setState(6064);
43427 match(SHOWPLAN);
43428 }
43429 break;
43430 case 20:
43431 enterOuterAlt(_localctx, 20);
43432 {
43433 setState(6065);
43434 match(SUBSCRIBE);
43435 setState(6066);
43436 match(QUERY);
43437 setState(6067);
43438 match(NOTIFICATIONS);
43439 }
43440 break;
43441 case 21:
43442 enterOuterAlt(_localctx, 21);
43443 {
43444 setState(6068);
43445 match(TAKE);
43446 setState(6069);
43447 match(OWNERSHIP);
43448 }
43449 break;
43450 case 22:
43451 enterOuterAlt(_localctx, 22);
43452 {
43453 setState(6070);
43454 match(UNMASK);
43455 }
43456 break;
43457 case 23:
43458 enterOuterAlt(_localctx, 23);
43459 {
43460 setState(6071);
43461 match(UPDATE);
43462 }
43463 break;
43464 case 24:
43465 enterOuterAlt(_localctx, 24);
43466 {
43467 setState(6072);
43468 match(VIEW);
43469 setState(6073);
43470 match(ANY);
43471 setState(6074);
43472 match(COLUMN);
43473 setState(6075);
43474 _la = _input.LA(1);
43475 if ( !(_la==ENCRYPTION || _la==MASTER) ) {
43476 _errHandler.recoverInline(this);
43477 }
43478 else {
43479 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
43480 _errHandler.reportMatch(this);
43481 consume();
43482 }
43483 setState(6076);
43484 match(KEY);
43485 setState(6077);
43486 match(DEFINITION);
43487 }
43488 break;
43489 case 25:
43490 enterOuterAlt(_localctx, 25);
43491 {
43492 setState(6078);
43493 match(CREATE);
43494 setState(6079);
43495 match(ANY);
43496 setState(6083);
43497 _errHandler.sync(this);
43498 switch (_input.LA(1)) {
43499 case DATABASE:
43500 {
43501 setState(6080);
43502 match(DATABASE);
43503 }
43504 break;
43505 case EXTERNAL:
43506 {
43507 setState(6081);
43508 match(EXTERNAL);
43509 setState(6082);
43510 match(LIBRARY);
43511 }
43512 break;
43513 default:
43514 throw new NoViableAltException(this);
43515 }
43516 }
43517 break;
43518 case 26:
43519 enterOuterAlt(_localctx, 26);
43520 {
43521 setState(6085);
43522 match(VIEW);
43523 setState(6086);
43524 _la = _input.LA(1);
43525 if ( !(_la==DATABASE || _la==SERVER) ) {
43526 _errHandler.recoverInline(this);
43527 }
43528 else {
43529 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
43530 _errHandler.reportMatch(this);
43531 consume();
43532 }
43533 setState(6087);
43534 match(STATE);
43535 }
43536 break;
43537 case 27:
43538 enterOuterAlt(_localctx, 27);
43539 {
43540 setState(6088);
43541 match(VIEW);
43542 setState(6090);
43543 _errHandler.sync(this);
43544 _la = _input.LA(1);
43545 if (_la==ANY) {
43546 {
43547 setState(6089);
43548 match(ANY);
43549 }
43550 }
43551
43552 setState(6092);
43553 match(DEFINITION);
43554 }
43555 break;
43556 case 28:
43557 enterOuterAlt(_localctx, 28);
43558 {
43559 }
43560 break;
43561 }
43562 }
43563 catch (RecognitionException re) {
43564 _localctx.exception = re;
43565 _errHandler.reportError(this, re);
43566 _errHandler.recover(this, re);
43567 }
43568 finally {
43569 exitRule();
43570 }
43571 return _localctx;
43572 }
43573
43574 public static class DatabasePrincipalPermissionContext extends ParserRuleContext {
43575 public DatabaseUserPermissionContext databaseUserPermission() {
43576 return getRuleContext(DatabaseUserPermissionContext.class,0);
43577 }
43578 public DatabaseRolePermissionContext databaseRolePermission() {
43579 return getRuleContext(DatabaseRolePermissionContext.class,0);
43580 }
43581 public ApplicationRolePermissionContext applicationRolePermission() {
43582 return getRuleContext(ApplicationRolePermissionContext.class,0);
43583 }
43584 public DatabasePrincipalPermissionContext(ParserRuleContext parent, int invokingState) {
43585 super(parent, invokingState);
43586 }
43587 @Override public int getRuleIndex() { return RULE_databasePrincipalPermission; }
43588 @Override
43589 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43590 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabasePrincipalPermission(this);
43591 else return visitor.visitChildren(this);
43592 }
43593 }
43594
43595 public final DatabasePrincipalPermissionContext databasePrincipalPermission() throws RecognitionException {
43596 DatabasePrincipalPermissionContext _localctx = new DatabasePrincipalPermissionContext(_ctx, getState());
43597 enterRule(_localctx, 822, RULE_databasePrincipalPermission);
43598 try {
43599 setState(6099);
43600 _errHandler.sync(this);
43601 switch ( getInterpreter().adaptivePredict(_input,708,_ctx) ) {
43602 case 1:
43603 enterOuterAlt(_localctx, 1);
43604 {
43605 setState(6096);
43606 databaseUserPermission();
43607 }
43608 break;
43609 case 2:
43610 enterOuterAlt(_localctx, 2);
43611 {
43612 setState(6097);
43613 databaseRolePermission();
43614 }
43615 break;
43616 case 3:
43617 enterOuterAlt(_localctx, 3);
43618 {
43619 setState(6098);
43620 applicationRolePermission();
43621 }
43622 break;
43623 }
43624 }
43625 catch (RecognitionException re) {
43626 _localctx.exception = re;
43627 _errHandler.reportError(this, re);
43628 _errHandler.recover(this, re);
43629 }
43630 finally {
43631 exitRule();
43632 }
43633 return _localctx;
43634 }
43635
43636 public static class DatabaseUserPermissionContext extends ParserRuleContext {
43637 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43638 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
43639 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43640 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43641 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43642 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43643 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
43644 public DatabaseUserPermissionContext(ParserRuleContext parent, int invokingState) {
43645 super(parent, invokingState);
43646 }
43647 @Override public int getRuleIndex() { return RULE_databaseUserPermission; }
43648 @Override
43649 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43650 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseUserPermission(this);
43651 else return visitor.visitChildren(this);
43652 }
43653 }
43654
43655 public final DatabaseUserPermissionContext databaseUserPermission() throws RecognitionException {
43656 DatabaseUserPermissionContext _localctx = new DatabaseUserPermissionContext(_ctx, getState());
43657 enterRule(_localctx, 824, RULE_databaseUserPermission);
43658 try {
43659 setState(6109);
43660 _errHandler.sync(this);
43661 switch ( getInterpreter().adaptivePredict(_input,709,_ctx) ) {
43662 case 1:
43663 enterOuterAlt(_localctx, 1);
43664 {
43665 setState(6101);
43666 match(CONTROL);
43667 }
43668 break;
43669 case 2:
43670 enterOuterAlt(_localctx, 2);
43671 {
43672 setState(6102);
43673 match(IMPERSONATE);
43674 }
43675 break;
43676 case 3:
43677 enterOuterAlt(_localctx, 3);
43678 {
43679 setState(6103);
43680 match(ALTER);
43681 }
43682 break;
43683 case 4:
43684 enterOuterAlt(_localctx, 4);
43685 {
43686 setState(6104);
43687 match(VIEW);
43688 setState(6105);
43689 match(DEFINITION);
43690 }
43691 break;
43692 case 5:
43693 enterOuterAlt(_localctx, 5);
43694 {
43695 setState(6106);
43696 match(ALTER);
43697 setState(6107);
43698 match(ANY);
43699 setState(6108);
43700 match(USER);
43701 }
43702 break;
43703 }
43704 }
43705 catch (RecognitionException re) {
43706 _localctx.exception = re;
43707 _errHandler.reportError(this, re);
43708 _errHandler.recover(this, re);
43709 }
43710 finally {
43711 exitRule();
43712 }
43713 return _localctx;
43714 }
43715
43716 public static class DatabaseRolePermissionContext extends ParserRuleContext {
43717 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43718 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43719 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43720 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43721 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43722 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43723 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43724 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
43725 public DatabaseRolePermissionContext(ParserRuleContext parent, int invokingState) {
43726 super(parent, invokingState);
43727 }
43728 @Override public int getRuleIndex() { return RULE_databaseRolePermission; }
43729 @Override
43730 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43731 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseRolePermission(this);
43732 else return visitor.visitChildren(this);
43733 }
43734 }
43735
43736 public final DatabaseRolePermissionContext databaseRolePermission() throws RecognitionException {
43737 DatabaseRolePermissionContext _localctx = new DatabaseRolePermissionContext(_ctx, getState());
43738 enterRule(_localctx, 826, RULE_databaseRolePermission);
43739 try {
43740 setState(6120);
43741 _errHandler.sync(this);
43742 switch ( getInterpreter().adaptivePredict(_input,710,_ctx) ) {
43743 case 1:
43744 enterOuterAlt(_localctx, 1);
43745 {
43746 setState(6111);
43747 match(CONTROL);
43748 }
43749 break;
43750 case 2:
43751 enterOuterAlt(_localctx, 2);
43752 {
43753 setState(6112);
43754 match(TAKE);
43755 setState(6113);
43756 match(OWNERSHIP);
43757 }
43758 break;
43759 case 3:
43760 enterOuterAlt(_localctx, 3);
43761 {
43762 setState(6114);
43763 match(ALTER);
43764 }
43765 break;
43766 case 4:
43767 enterOuterAlt(_localctx, 4);
43768 {
43769 setState(6115);
43770 match(VIEW);
43771 setState(6116);
43772 match(DEFINITION);
43773 }
43774 break;
43775 case 5:
43776 enterOuterAlt(_localctx, 5);
43777 {
43778 setState(6117);
43779 match(ALTER);
43780 setState(6118);
43781 match(ANY);
43782 setState(6119);
43783 match(ROLE);
43784 }
43785 break;
43786 }
43787 }
43788 catch (RecognitionException re) {
43789 _localctx.exception = re;
43790 _errHandler.reportError(this, re);
43791 _errHandler.recover(this, re);
43792 }
43793 finally {
43794 exitRule();
43795 }
43796 return _localctx;
43797 }
43798
43799 public static class ApplicationRolePermissionContext extends ParserRuleContext {
43800 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43801 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43802 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43803 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43804 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43805 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
43806 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
43807 public ApplicationRolePermissionContext(ParserRuleContext parent, int invokingState) {
43808 super(parent, invokingState);
43809 }
43810 @Override public int getRuleIndex() { return RULE_applicationRolePermission; }
43811 @Override
43812 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43813 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitApplicationRolePermission(this);
43814 else return visitor.visitChildren(this);
43815 }
43816 }
43817
43818 public final ApplicationRolePermissionContext applicationRolePermission() throws RecognitionException {
43819 ApplicationRolePermissionContext _localctx = new ApplicationRolePermissionContext(_ctx, getState());
43820 enterRule(_localctx, 828, RULE_applicationRolePermission);
43821 try {
43822 setState(6130);
43823 _errHandler.sync(this);
43824 switch ( getInterpreter().adaptivePredict(_input,711,_ctx) ) {
43825 case 1:
43826 enterOuterAlt(_localctx, 1);
43827 {
43828 setState(6122);
43829 match(CONTROL);
43830 }
43831 break;
43832 case 2:
43833 enterOuterAlt(_localctx, 2);
43834 {
43835 setState(6123);
43836 match(ALTER);
43837 }
43838 break;
43839 case 3:
43840 enterOuterAlt(_localctx, 3);
43841 {
43842 setState(6124);
43843 match(VIEW);
43844 setState(6125);
43845 match(DEFINITION);
43846 }
43847 break;
43848 case 4:
43849 enterOuterAlt(_localctx, 4);
43850 {
43851 setState(6126);
43852 match(ALTER);
43853 setState(6127);
43854 match(ANY);
43855 setState(6128);
43856 match(APPLICATION);
43857 setState(6129);
43858 match(ROLE);
43859 }
43860 break;
43861 }
43862 }
43863 catch (RecognitionException re) {
43864 _localctx.exception = re;
43865 _errHandler.reportError(this, re);
43866 _errHandler.recover(this, re);
43867 }
43868 finally {
43869 exitRule();
43870 }
43871 return _localctx;
43872 }
43873
43874 public static class DatabaseScopedCredentialPermissionContext extends ParserRuleContext {
43875 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43876 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43877 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43878 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43879 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
43880 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43881 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43882 public DatabaseScopedCredentialPermissionContext(ParserRuleContext parent, int invokingState) {
43883 super(parent, invokingState);
43884 }
43885 @Override public int getRuleIndex() { return RULE_databaseScopedCredentialPermission; }
43886 @Override
43887 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43888 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseScopedCredentialPermission(this);
43889 else return visitor.visitChildren(this);
43890 }
43891 }
43892
43893 public final DatabaseScopedCredentialPermissionContext databaseScopedCredentialPermission() throws RecognitionException {
43894 DatabaseScopedCredentialPermissionContext _localctx = new DatabaseScopedCredentialPermissionContext(_ctx, getState());
43895 enterRule(_localctx, 830, RULE_databaseScopedCredentialPermission);
43896 try {
43897 setState(6139);
43898 _errHandler.sync(this);
43899 switch (_input.LA(1)) {
43900 case CONTROL:
43901 enterOuterAlt(_localctx, 1);
43902 {
43903 setState(6132);
43904 match(CONTROL);
43905 }
43906 break;
43907 case TAKE:
43908 enterOuterAlt(_localctx, 2);
43909 {
43910 setState(6133);
43911 match(TAKE);
43912 setState(6134);
43913 match(OWNERSHIP);
43914 }
43915 break;
43916 case ALTER:
43917 enterOuterAlt(_localctx, 3);
43918 {
43919 setState(6135);
43920 match(ALTER);
43921 }
43922 break;
43923 case REFERENCES:
43924 enterOuterAlt(_localctx, 4);
43925 {
43926 setState(6136);
43927 match(REFERENCES);
43928 }
43929 break;
43930 case VIEW:
43931 enterOuterAlt(_localctx, 5);
43932 {
43933 setState(6137);
43934 match(VIEW);
43935 setState(6138);
43936 match(DEFINITION);
43937 }
43938 break;
43939 default:
43940 throw new NoViableAltException(this);
43941 }
43942 }
43943 catch (RecognitionException re) {
43944 _localctx.exception = re;
43945 _errHandler.reportError(this, re);
43946 _errHandler.recover(this, re);
43947 }
43948 finally {
43949 exitRule();
43950 }
43951 return _localctx;
43952 }
43953
43954 public static class SchemaPermissionContext extends ParserRuleContext {
43955 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43956 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43957 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
43958 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
43959 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
43960 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
43961 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
43962 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
43963 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
43964 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43965 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43966 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
43967 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43968 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
43969 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
43970 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43971 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43972 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
43973 public SchemaPermissionContext(ParserRuleContext parent, int invokingState) {
43974 super(parent, invokingState);
43975 }
43976 @Override public int getRuleIndex() { return RULE_schemaPermission; }
43977 @Override
43978 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43979 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaPermission(this);
43980 else return visitor.visitChildren(this);
43981 }
43982 }
43983
43984 public final SchemaPermissionContext schemaPermission() throws RecognitionException {
43985 SchemaPermissionContext _localctx = new SchemaPermissionContext(_ctx, getState());
43986 enterRule(_localctx, 832, RULE_schemaPermission);
43987 try {
43988 setState(6161);
43989 _errHandler.sync(this);
43990 switch ( getInterpreter().adaptivePredict(_input,713,_ctx) ) {
43991 case 1:
43992 enterOuterAlt(_localctx, 1);
43993 {
43994 setState(6141);
43995 match(ALTER);
43996 }
43997 break;
43998 case 2:
43999 enterOuterAlt(_localctx, 2);
44000 {
44001 setState(6142);
44002 match(CONTROL);
44003 }
44004 break;
44005 case 3:
44006 enterOuterAlt(_localctx, 3);
44007 {
44008 setState(6143);
44009 match(CREATE);
44010 setState(6144);
44011 match(SEQUENCE);
44012 }
44013 break;
44014 case 4:
44015 enterOuterAlt(_localctx, 4);
44016 {
44017 setState(6145);
44018 match(DELETE);
44019 }
44020 break;
44021 case 5:
44022 enterOuterAlt(_localctx, 5);
44023 {
44024 setState(6146);
44025 match(EXECUTE);
44026 }
44027 break;
44028 case 6:
44029 enterOuterAlt(_localctx, 6);
44030 {
44031 setState(6147);
44032 match(INSERT);
44033 }
44034 break;
44035 case 7:
44036 enterOuterAlt(_localctx, 7);
44037 {
44038 setState(6148);
44039 match(REFERENCES);
44040 }
44041 break;
44042 case 8:
44043 enterOuterAlt(_localctx, 8);
44044 {
44045 setState(6149);
44046 match(SELECT);
44047 }
44048 break;
44049 case 9:
44050 enterOuterAlt(_localctx, 9);
44051 {
44052 setState(6150);
44053 match(TAKE);
44054 setState(6151);
44055 match(OWNERSHIP);
44056 }
44057 break;
44058 case 10:
44059 enterOuterAlt(_localctx, 10);
44060 {
44061 setState(6152);
44062 match(UPDATE);
44063 }
44064 break;
44065 case 11:
44066 enterOuterAlt(_localctx, 11);
44067 {
44068 setState(6153);
44069 match(VIEW);
44070 setState(6154);
44071 match(CHANGE);
44072 setState(6155);
44073 match(TRACKING);
44074 }
44075 break;
44076 case 12:
44077 enterOuterAlt(_localctx, 12);
44078 {
44079 setState(6156);
44080 match(VIEW);
44081 setState(6157);
44082 match(DEFINITION);
44083 }
44084 break;
44085 case 13:
44086 enterOuterAlt(_localctx, 13);
44087 {
44088 setState(6158);
44089 match(ALTER);
44090 setState(6159);
44091 match(ANY);
44092 setState(6160);
44093 match(SCHEMA);
44094 }
44095 break;
44096 }
44097 }
44098 catch (RecognitionException re) {
44099 _localctx.exception = re;
44100 _errHandler.reportError(this, re);
44101 _errHandler.recover(this, re);
44102 }
44103 finally {
44104 exitRule();
44105 }
44106 return _localctx;
44107 }
44108
44109 public static class SearchPropertyListPermissionContext extends ParserRuleContext {
44110 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44111 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44112 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44113 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44114 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44115 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44116 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44117 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44118 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
44119 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
44120 public SearchPropertyListPermissionContext(ParserRuleContext parent, int invokingState) {
44121 super(parent, invokingState);
44122 }
44123 @Override public int getRuleIndex() { return RULE_searchPropertyListPermission; }
44124 @Override
44125 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44126 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSearchPropertyListPermission(this);
44127 else return visitor.visitChildren(this);
44128 }
44129 }
44130
44131 public final SearchPropertyListPermissionContext searchPropertyListPermission() throws RecognitionException {
44132 SearchPropertyListPermissionContext _localctx = new SearchPropertyListPermissionContext(_ctx, getState());
44133 enterRule(_localctx, 834, RULE_searchPropertyListPermission);
44134 try {
44135 setState(6174);
44136 _errHandler.sync(this);
44137 switch ( getInterpreter().adaptivePredict(_input,714,_ctx) ) {
44138 case 1:
44139 enterOuterAlt(_localctx, 1);
44140 {
44141 setState(6163);
44142 match(ALTER);
44143 }
44144 break;
44145 case 2:
44146 enterOuterAlt(_localctx, 2);
44147 {
44148 setState(6164);
44149 match(CONTROL);
44150 }
44151 break;
44152 case 3:
44153 enterOuterAlt(_localctx, 3);
44154 {
44155 setState(6165);
44156 match(REFERENCES);
44157 }
44158 break;
44159 case 4:
44160 enterOuterAlt(_localctx, 4);
44161 {
44162 setState(6166);
44163 match(TAKE);
44164 setState(6167);
44165 match(OWNERSHIP);
44166 }
44167 break;
44168 case 5:
44169 enterOuterAlt(_localctx, 5);
44170 {
44171 setState(6168);
44172 match(VIEW);
44173 setState(6169);
44174 match(DEFINITION);
44175 }
44176 break;
44177 case 6:
44178 enterOuterAlt(_localctx, 6);
44179 {
44180 setState(6170);
44181 match(ALTER);
44182 setState(6171);
44183 match(ANY);
44184 setState(6172);
44185 match(FULLTEXT);
44186 setState(6173);
44187 match(CATALOG);
44188 }
44189 break;
44190 }
44191 }
44192 catch (RecognitionException re) {
44193 _localctx.exception = re;
44194 _errHandler.reportError(this, re);
44195 _errHandler.recover(this, re);
44196 }
44197 finally {
44198 exitRule();
44199 }
44200 return _localctx;
44201 }
44202
44203 public static class ServiceBrokerPermissionContext extends ParserRuleContext {
44204 public ServiceBrokerContractsPermissionContext serviceBrokerContractsPermission() {
44205 return getRuleContext(ServiceBrokerContractsPermissionContext.class,0);
44206 }
44207 public ServiceBrokerMessageTypesPermissionContext serviceBrokerMessageTypesPermission() {
44208 return getRuleContext(ServiceBrokerMessageTypesPermissionContext.class,0);
44209 }
44210 public ServiceBrokerRemoteServiceBindingsPermissionContext serviceBrokerRemoteServiceBindingsPermission() {
44211 return getRuleContext(ServiceBrokerRemoteServiceBindingsPermissionContext.class,0);
44212 }
44213 public ServiceBrokerRoutesPermissionContext serviceBrokerRoutesPermission() {
44214 return getRuleContext(ServiceBrokerRoutesPermissionContext.class,0);
44215 }
44216 public ServiceBrokerServicesPermissionContext serviceBrokerServicesPermission() {
44217 return getRuleContext(ServiceBrokerServicesPermissionContext.class,0);
44218 }
44219 public ServiceBrokerPermissionContext(ParserRuleContext parent, int invokingState) {
44220 super(parent, invokingState);
44221 }
44222 @Override public int getRuleIndex() { return RULE_serviceBrokerPermission; }
44223 @Override
44224 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44225 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerPermission(this);
44226 else return visitor.visitChildren(this);
44227 }
44228 }
44229
44230 public final ServiceBrokerPermissionContext serviceBrokerPermission() throws RecognitionException {
44231 ServiceBrokerPermissionContext _localctx = new ServiceBrokerPermissionContext(_ctx, getState());
44232 enterRule(_localctx, 836, RULE_serviceBrokerPermission);
44233 try {
44234 setState(6181);
44235 _errHandler.sync(this);
44236 switch ( getInterpreter().adaptivePredict(_input,715,_ctx) ) {
44237 case 1:
44238 enterOuterAlt(_localctx, 1);
44239 {
44240 setState(6176);
44241 serviceBrokerContractsPermission();
44242 }
44243 break;
44244 case 2:
44245 enterOuterAlt(_localctx, 2);
44246 {
44247 setState(6177);
44248 serviceBrokerMessageTypesPermission();
44249 }
44250 break;
44251 case 3:
44252 enterOuterAlt(_localctx, 3);
44253 {
44254 setState(6178);
44255 serviceBrokerRemoteServiceBindingsPermission();
44256 }
44257 break;
44258 case 4:
44259 enterOuterAlt(_localctx, 4);
44260 {
44261 setState(6179);
44262 serviceBrokerRoutesPermission();
44263 }
44264 break;
44265 case 5:
44266 enterOuterAlt(_localctx, 5);
44267 {
44268 setState(6180);
44269 serviceBrokerServicesPermission();
44270 }
44271 break;
44272 }
44273 }
44274 catch (RecognitionException re) {
44275 _localctx.exception = re;
44276 _errHandler.reportError(this, re);
44277 _errHandler.recover(this, re);
44278 }
44279 finally {
44280 exitRule();
44281 }
44282 return _localctx;
44283 }
44284
44285 public static class ServiceBrokerContractsPermissionContext extends ParserRuleContext {
44286 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44287 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44288 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44289 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44290 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44291 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44292 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44293 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44294 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
44295 public ServiceBrokerContractsPermissionContext(ParserRuleContext parent, int invokingState) {
44296 super(parent, invokingState);
44297 }
44298 @Override public int getRuleIndex() { return RULE_serviceBrokerContractsPermission; }
44299 @Override
44300 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44301 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerContractsPermission(this);
44302 else return visitor.visitChildren(this);
44303 }
44304 }
44305
44306 public final ServiceBrokerContractsPermissionContext serviceBrokerContractsPermission() throws RecognitionException {
44307 ServiceBrokerContractsPermissionContext _localctx = new ServiceBrokerContractsPermissionContext(_ctx, getState());
44308 enterRule(_localctx, 838, RULE_serviceBrokerContractsPermission);
44309 try {
44310 setState(6193);
44311 _errHandler.sync(this);
44312 switch ( getInterpreter().adaptivePredict(_input,716,_ctx) ) {
44313 case 1:
44314 enterOuterAlt(_localctx, 1);
44315 {
44316 setState(6183);
44317 match(CONTROL);
44318 }
44319 break;
44320 case 2:
44321 enterOuterAlt(_localctx, 2);
44322 {
44323 setState(6184);
44324 match(TAKE);
44325 setState(6185);
44326 match(OWNERSHIP);
44327 }
44328 break;
44329 case 3:
44330 enterOuterAlt(_localctx, 3);
44331 {
44332 setState(6186);
44333 match(ALTER);
44334 }
44335 break;
44336 case 4:
44337 enterOuterAlt(_localctx, 4);
44338 {
44339 setState(6187);
44340 match(REFERENCES);
44341 }
44342 break;
44343 case 5:
44344 enterOuterAlt(_localctx, 5);
44345 {
44346 setState(6188);
44347 match(VIEW);
44348 setState(6189);
44349 match(DEFINITION);
44350 }
44351 break;
44352 case 6:
44353 enterOuterAlt(_localctx, 6);
44354 {
44355 setState(6190);
44356 match(ALTER);
44357 setState(6191);
44358 match(ANY);
44359 setState(6192);
44360 match(CONTRACT);
44361 }
44362 break;
44363 }
44364 }
44365 catch (RecognitionException re) {
44366 _localctx.exception = re;
44367 _errHandler.reportError(this, re);
44368 _errHandler.recover(this, re);
44369 }
44370 finally {
44371 exitRule();
44372 }
44373 return _localctx;
44374 }
44375
44376 public static class ServiceBrokerMessageTypesPermissionContext extends ParserRuleContext {
44377 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44378 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44379 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44380 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44381 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44382 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44383 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44384 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44385 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
44386 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
44387 public ServiceBrokerMessageTypesPermissionContext(ParserRuleContext parent, int invokingState) {
44388 super(parent, invokingState);
44389 }
44390 @Override public int getRuleIndex() { return RULE_serviceBrokerMessageTypesPermission; }
44391 @Override
44392 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44393 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerMessageTypesPermission(this);
44394 else return visitor.visitChildren(this);
44395 }
44396 }
44397
44398 public final ServiceBrokerMessageTypesPermissionContext serviceBrokerMessageTypesPermission() throws RecognitionException {
44399 ServiceBrokerMessageTypesPermissionContext _localctx = new ServiceBrokerMessageTypesPermissionContext(_ctx, getState());
44400 enterRule(_localctx, 840, RULE_serviceBrokerMessageTypesPermission);
44401 try {
44402 setState(6206);
44403 _errHandler.sync(this);
44404 switch ( getInterpreter().adaptivePredict(_input,717,_ctx) ) {
44405 case 1:
44406 enterOuterAlt(_localctx, 1);
44407 {
44408 setState(6195);
44409 match(CONTROL);
44410 }
44411 break;
44412 case 2:
44413 enterOuterAlt(_localctx, 2);
44414 {
44415 setState(6196);
44416 match(TAKE);
44417 setState(6197);
44418 match(OWNERSHIP);
44419 }
44420 break;
44421 case 3:
44422 enterOuterAlt(_localctx, 3);
44423 {
44424 setState(6198);
44425 match(ALTER);
44426 }
44427 break;
44428 case 4:
44429 enterOuterAlt(_localctx, 4);
44430 {
44431 setState(6199);
44432 match(REFERENCES);
44433 }
44434 break;
44435 case 5:
44436 enterOuterAlt(_localctx, 5);
44437 {
44438 setState(6200);
44439 match(VIEW);
44440 setState(6201);
44441 match(DEFINITION);
44442 }
44443 break;
44444 case 6:
44445 enterOuterAlt(_localctx, 6);
44446 {
44447 setState(6202);
44448 match(ALTER);
44449 setState(6203);
44450 match(ANY);
44451 setState(6204);
44452 match(MESSAGE);
44453 setState(6205);
44454 match(TYPE);
44455 }
44456 break;
44457 }
44458 }
44459 catch (RecognitionException re) {
44460 _localctx.exception = re;
44461 _errHandler.reportError(this, re);
44462 _errHandler.recover(this, re);
44463 }
44464 finally {
44465 exitRule();
44466 }
44467 return _localctx;
44468 }
44469
44470 public static class ServiceBrokerRemoteServiceBindingsPermissionContext extends ParserRuleContext {
44471 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44472 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44473 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44474 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44475 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44476 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44477 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44478 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
44479 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
44480 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
44481 public ServiceBrokerRemoteServiceBindingsPermissionContext(ParserRuleContext parent, int invokingState) {
44482 super(parent, invokingState);
44483 }
44484 @Override public int getRuleIndex() { return RULE_serviceBrokerRemoteServiceBindingsPermission; }
44485 @Override
44486 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44487 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerRemoteServiceBindingsPermission(this);
44488 else return visitor.visitChildren(this);
44489 }
44490 }
44491
44492 public final ServiceBrokerRemoteServiceBindingsPermissionContext serviceBrokerRemoteServiceBindingsPermission() throws RecognitionException {
44493 ServiceBrokerRemoteServiceBindingsPermissionContext _localctx = new ServiceBrokerRemoteServiceBindingsPermissionContext(_ctx, getState());
44494 enterRule(_localctx, 842, RULE_serviceBrokerRemoteServiceBindingsPermission);
44495 try {
44496 setState(6219);
44497 _errHandler.sync(this);
44498 switch ( getInterpreter().adaptivePredict(_input,718,_ctx) ) {
44499 case 1:
44500 enterOuterAlt(_localctx, 1);
44501 {
44502 setState(6208);
44503 match(CONTROL);
44504 }
44505 break;
44506 case 2:
44507 enterOuterAlt(_localctx, 2);
44508 {
44509 setState(6209);
44510 match(TAKE);
44511 setState(6210);
44512 match(OWNERSHIP);
44513 }
44514 break;
44515 case 3:
44516 enterOuterAlt(_localctx, 3);
44517 {
44518 setState(6211);
44519 match(ALTER);
44520 }
44521 break;
44522 case 4:
44523 enterOuterAlt(_localctx, 4);
44524 {
44525 setState(6212);
44526 match(VIEW);
44527 setState(6213);
44528 match(DEFINITION);
44529 }
44530 break;
44531 case 5:
44532 enterOuterAlt(_localctx, 5);
44533 {
44534 setState(6214);
44535 match(ALTER);
44536 setState(6215);
44537 match(ANY);
44538 setState(6216);
44539 match(REMOTE);
44540 setState(6217);
44541 match(SERVICE);
44542 setState(6218);
44543 match(BINDING);
44544 }
44545 break;
44546 }
44547 }
44548 catch (RecognitionException re) {
44549 _localctx.exception = re;
44550 _errHandler.reportError(this, re);
44551 _errHandler.recover(this, re);
44552 }
44553 finally {
44554 exitRule();
44555 }
44556 return _localctx;
44557 }
44558
44559 public static class ServiceBrokerRoutesPermissionContext extends ParserRuleContext {
44560 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44561 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44562 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44563 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44564 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44565 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44566 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44567 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
44568 public ServiceBrokerRoutesPermissionContext(ParserRuleContext parent, int invokingState) {
44569 super(parent, invokingState);
44570 }
44571 @Override public int getRuleIndex() { return RULE_serviceBrokerRoutesPermission; }
44572 @Override
44573 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44574 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerRoutesPermission(this);
44575 else return visitor.visitChildren(this);
44576 }
44577 }
44578
44579 public final ServiceBrokerRoutesPermissionContext serviceBrokerRoutesPermission() throws RecognitionException {
44580 ServiceBrokerRoutesPermissionContext _localctx = new ServiceBrokerRoutesPermissionContext(_ctx, getState());
44581 enterRule(_localctx, 844, RULE_serviceBrokerRoutesPermission);
44582 try {
44583 setState(6230);
44584 _errHandler.sync(this);
44585 switch ( getInterpreter().adaptivePredict(_input,719,_ctx) ) {
44586 case 1:
44587 enterOuterAlt(_localctx, 1);
44588 {
44589 setState(6221);
44590 match(CONTROL);
44591 }
44592 break;
44593 case 2:
44594 enterOuterAlt(_localctx, 2);
44595 {
44596 setState(6222);
44597 match(TAKE);
44598 setState(6223);
44599 match(OWNERSHIP);
44600 }
44601 break;
44602 case 3:
44603 enterOuterAlt(_localctx, 3);
44604 {
44605 setState(6224);
44606 match(ALTER);
44607 }
44608 break;
44609 case 4:
44610 enterOuterAlt(_localctx, 4);
44611 {
44612 setState(6225);
44613 match(VIEW);
44614 setState(6226);
44615 match(DEFINITION);
44616 }
44617 break;
44618 case 5:
44619 enterOuterAlt(_localctx, 5);
44620 {
44621 setState(6227);
44622 match(ALTER);
44623 setState(6228);
44624 match(ANY);
44625 setState(6229);
44626 match(ROUTE);
44627 }
44628 break;
44629 }
44630 }
44631 catch (RecognitionException re) {
44632 _localctx.exception = re;
44633 _errHandler.reportError(this, re);
44634 _errHandler.recover(this, re);
44635 }
44636 finally {
44637 exitRule();
44638 }
44639 return _localctx;
44640 }
44641
44642 public static class ServiceBrokerServicesPermissionContext extends ParserRuleContext {
44643 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44644 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44645 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44646 public TerminalNode SEND() { return getToken(SQLServerStatementParser.SEND, 0); }
44647 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44648 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44649 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44650 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44651 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
44652 public ServiceBrokerServicesPermissionContext(ParserRuleContext parent, int invokingState) {
44653 super(parent, invokingState);
44654 }
44655 @Override public int getRuleIndex() { return RULE_serviceBrokerServicesPermission; }
44656 @Override
44657 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44658 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerServicesPermission(this);
44659 else return visitor.visitChildren(this);
44660 }
44661 }
44662
44663 public final ServiceBrokerServicesPermissionContext serviceBrokerServicesPermission() throws RecognitionException {
44664 ServiceBrokerServicesPermissionContext _localctx = new ServiceBrokerServicesPermissionContext(_ctx, getState());
44665 enterRule(_localctx, 846, RULE_serviceBrokerServicesPermission);
44666 try {
44667 setState(6242);
44668 _errHandler.sync(this);
44669 switch ( getInterpreter().adaptivePredict(_input,720,_ctx) ) {
44670 case 1:
44671 enterOuterAlt(_localctx, 1);
44672 {
44673 setState(6232);
44674 match(CONTROL);
44675 }
44676 break;
44677 case 2:
44678 enterOuterAlt(_localctx, 2);
44679 {
44680 setState(6233);
44681 match(TAKE);
44682 setState(6234);
44683 match(OWNERSHIP);
44684 }
44685 break;
44686 case 3:
44687 enterOuterAlt(_localctx, 3);
44688 {
44689 setState(6235);
44690 match(SEND);
44691 }
44692 break;
44693 case 4:
44694 enterOuterAlt(_localctx, 4);
44695 {
44696 setState(6236);
44697 match(ALTER);
44698 }
44699 break;
44700 case 5:
44701 enterOuterAlt(_localctx, 5);
44702 {
44703 setState(6237);
44704 match(VIEW);
44705 setState(6238);
44706 match(DEFINITION);
44707 }
44708 break;
44709 case 6:
44710 enterOuterAlt(_localctx, 6);
44711 {
44712 setState(6239);
44713 match(ALTER);
44714 setState(6240);
44715 match(ANY);
44716 setState(6241);
44717 match(SERVICE);
44718 }
44719 break;
44720 }
44721 }
44722 catch (RecognitionException re) {
44723 _localctx.exception = re;
44724 _errHandler.reportError(this, re);
44725 _errHandler.recover(this, re);
44726 }
44727 finally {
44728 exitRule();
44729 }
44730 return _localctx;
44731 }
44732
44733 public static class EndpointPermissionContext extends ParserRuleContext {
44734 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44735 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
44736 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44737 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
44738 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44739 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44740 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44741 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44742 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44743 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
44744 public EndpointPermissionContext(ParserRuleContext parent, int invokingState) {
44745 super(parent, invokingState);
44746 }
44747 @Override public int getRuleIndex() { return RULE_endpointPermission; }
44748 @Override
44749 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44750 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEndpointPermission(this);
44751 else return visitor.visitChildren(this);
44752 }
44753 }
44754
44755 public final EndpointPermissionContext endpointPermission() throws RecognitionException {
44756 EndpointPermissionContext _localctx = new EndpointPermissionContext(_ctx, getState());
44757 enterRule(_localctx, 848, RULE_endpointPermission);
44758 int _la;
44759 try {
44760 setState(6260);
44761 _errHandler.sync(this);
44762 switch ( getInterpreter().adaptivePredict(_input,723,_ctx) ) {
44763 case 1:
44764 enterOuterAlt(_localctx, 1);
44765 {
44766 setState(6244);
44767 match(ALTER);
44768 }
44769 break;
44770 case 2:
44771 enterOuterAlt(_localctx, 2);
44772 {
44773 setState(6245);
44774 match(CONNECT);
44775 }
44776 break;
44777 case 3:
44778 enterOuterAlt(_localctx, 3);
44779 {
44780 setState(6246);
44781 match(CONTROL);
44782 setState(6248);
44783 _errHandler.sync(this);
44784 _la = _input.LA(1);
44785 if (_la==SERVER) {
44786 {
44787 setState(6247);
44788 match(SERVER);
44789 }
44790 }
44791
44792 }
44793 break;
44794 case 4:
44795 enterOuterAlt(_localctx, 4);
44796 {
44797 setState(6250);
44798 match(TAKE);
44799 setState(6251);
44800 match(OWNERSHIP);
44801 }
44802 break;
44803 case 5:
44804 enterOuterAlt(_localctx, 5);
44805 {
44806 setState(6252);
44807 match(VIEW);
44808 setState(6254);
44809 _errHandler.sync(this);
44810 _la = _input.LA(1);
44811 if (_la==ANY) {
44812 {
44813 setState(6253);
44814 match(ANY);
44815 }
44816 }
44817
44818 setState(6256);
44819 match(DEFINITION);
44820 }
44821 break;
44822 case 6:
44823 enterOuterAlt(_localctx, 6);
44824 {
44825 setState(6257);
44826 match(ALTER);
44827 setState(6258);
44828 match(ANY);
44829 setState(6259);
44830 match(ENDPOINT);
44831 }
44832 break;
44833 }
44834 }
44835 catch (RecognitionException re) {
44836 _localctx.exception = re;
44837 _errHandler.reportError(this, re);
44838 _errHandler.recover(this, re);
44839 }
44840 finally {
44841 exitRule();
44842 }
44843 return _localctx;
44844 }
44845
44846 public static class CertificatePermissionContext extends ParserRuleContext {
44847 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44848 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44849 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44850 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44851 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44852 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44853 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44854 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44855 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
44856 public CertificatePermissionContext(ParserRuleContext parent, int invokingState) {
44857 super(parent, invokingState);
44858 }
44859 @Override public int getRuleIndex() { return RULE_certificatePermission; }
44860 @Override
44861 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44862 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCertificatePermission(this);
44863 else return visitor.visitChildren(this);
44864 }
44865 }
44866
44867 public final CertificatePermissionContext certificatePermission() throws RecognitionException {
44868 CertificatePermissionContext _localctx = new CertificatePermissionContext(_ctx, getState());
44869 enterRule(_localctx, 850, RULE_certificatePermission);
44870 try {
44871 setState(6272);
44872 _errHandler.sync(this);
44873 switch ( getInterpreter().adaptivePredict(_input,724,_ctx) ) {
44874 case 1:
44875 enterOuterAlt(_localctx, 1);
44876 {
44877 setState(6262);
44878 match(CONTROL);
44879 }
44880 break;
44881 case 2:
44882 enterOuterAlt(_localctx, 2);
44883 {
44884 setState(6263);
44885 match(TAKE);
44886 setState(6264);
44887 match(OWNERSHIP);
44888 }
44889 break;
44890 case 3:
44891 enterOuterAlt(_localctx, 3);
44892 {
44893 setState(6265);
44894 match(ALTER);
44895 }
44896 break;
44897 case 4:
44898 enterOuterAlt(_localctx, 4);
44899 {
44900 setState(6266);
44901 match(REFERENCES);
44902 }
44903 break;
44904 case 5:
44905 enterOuterAlt(_localctx, 5);
44906 {
44907 setState(6267);
44908 match(VIEW);
44909 setState(6268);
44910 match(DEFINITION);
44911 }
44912 break;
44913 case 6:
44914 enterOuterAlt(_localctx, 6);
44915 {
44916 setState(6269);
44917 match(ALTER);
44918 setState(6270);
44919 match(ANY);
44920 setState(6271);
44921 match(CERTIFICATE);
44922 }
44923 break;
44924 }
44925 }
44926 catch (RecognitionException re) {
44927 _localctx.exception = re;
44928 _errHandler.reportError(this, re);
44929 _errHandler.recover(this, re);
44930 }
44931 finally {
44932 exitRule();
44933 }
44934 return _localctx;
44935 }
44936
44937 public static class SymmetricKeyPermissionContext extends ParserRuleContext {
44938 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44939 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44940 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44941 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44942 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44943 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44944 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44945 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44946 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
44947 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
44948 public SymmetricKeyPermissionContext(ParserRuleContext parent, int invokingState) {
44949 super(parent, invokingState);
44950 }
44951 @Override public int getRuleIndex() { return RULE_symmetricKeyPermission; }
44952 @Override
44953 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44954 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSymmetricKeyPermission(this);
44955 else return visitor.visitChildren(this);
44956 }
44957 }
44958
44959 public final SymmetricKeyPermissionContext symmetricKeyPermission() throws RecognitionException {
44960 SymmetricKeyPermissionContext _localctx = new SymmetricKeyPermissionContext(_ctx, getState());
44961 enterRule(_localctx, 852, RULE_symmetricKeyPermission);
44962 try {
44963 setState(6285);
44964 _errHandler.sync(this);
44965 switch ( getInterpreter().adaptivePredict(_input,725,_ctx) ) {
44966 case 1:
44967 enterOuterAlt(_localctx, 1);
44968 {
44969 setState(6274);
44970 match(ALTER);
44971 }
44972 break;
44973 case 2:
44974 enterOuterAlt(_localctx, 2);
44975 {
44976 setState(6275);
44977 match(CONTROL);
44978 }
44979 break;
44980 case 3:
44981 enterOuterAlt(_localctx, 3);
44982 {
44983 setState(6276);
44984 match(REFERENCES);
44985 }
44986 break;
44987 case 4:
44988 enterOuterAlt(_localctx, 4);
44989 {
44990 setState(6277);
44991 match(TAKE);
44992 setState(6278);
44993 match(OWNERSHIP);
44994 }
44995 break;
44996 case 5:
44997 enterOuterAlt(_localctx, 5);
44998 {
44999 setState(6279);
45000 match(VIEW);
45001 setState(6280);
45002 match(DEFINITION);
45003 }
45004 break;
45005 case 6:
45006 enterOuterAlt(_localctx, 6);
45007 {
45008 setState(6281);
45009 match(ALTER);
45010 setState(6282);
45011 match(ANY);
45012 setState(6283);
45013 match(SYMMETRIC);
45014 setState(6284);
45015 match(KEY);
45016 }
45017 break;
45018 }
45019 }
45020 catch (RecognitionException re) {
45021 _localctx.exception = re;
45022 _errHandler.reportError(this, re);
45023 _errHandler.recover(this, re);
45024 }
45025 finally {
45026 exitRule();
45027 }
45028 return _localctx;
45029 }
45030
45031 public static class AsymmetricKeyPermissionContext extends ParserRuleContext {
45032 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45033 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45034 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45035 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45036 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45037 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45038 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45039 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45040 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
45041 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
45042 public AsymmetricKeyPermissionContext(ParserRuleContext parent, int invokingState) {
45043 super(parent, invokingState);
45044 }
45045 @Override public int getRuleIndex() { return RULE_asymmetricKeyPermission; }
45046 @Override
45047 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45048 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAsymmetricKeyPermission(this);
45049 else return visitor.visitChildren(this);
45050 }
45051 }
45052
45053 public final AsymmetricKeyPermissionContext asymmetricKeyPermission() throws RecognitionException {
45054 AsymmetricKeyPermissionContext _localctx = new AsymmetricKeyPermissionContext(_ctx, getState());
45055 enterRule(_localctx, 854, RULE_asymmetricKeyPermission);
45056 try {
45057 setState(6298);
45058 _errHandler.sync(this);
45059 switch ( getInterpreter().adaptivePredict(_input,726,_ctx) ) {
45060 case 1:
45061 enterOuterAlt(_localctx, 1);
45062 {
45063 setState(6287);
45064 match(CONTROL);
45065 }
45066 break;
45067 case 2:
45068 enterOuterAlt(_localctx, 2);
45069 {
45070 setState(6288);
45071 match(TAKE);
45072 setState(6289);
45073 match(OWNERSHIP);
45074 }
45075 break;
45076 case 3:
45077 enterOuterAlt(_localctx, 3);
45078 {
45079 setState(6290);
45080 match(ALTER);
45081 }
45082 break;
45083 case 4:
45084 enterOuterAlt(_localctx, 4);
45085 {
45086 setState(6291);
45087 match(REFERENCES);
45088 }
45089 break;
45090 case 5:
45091 enterOuterAlt(_localctx, 5);
45092 {
45093 setState(6292);
45094 match(VIEW);
45095 setState(6293);
45096 match(DEFINITION);
45097 }
45098 break;
45099 case 6:
45100 enterOuterAlt(_localctx, 6);
45101 {
45102 setState(6294);
45103 match(ALTER);
45104 setState(6295);
45105 match(ANY);
45106 setState(6296);
45107 match(ASYMMETRIC);
45108 setState(6297);
45109 match(KEY);
45110 }
45111 break;
45112 }
45113 }
45114 catch (RecognitionException re) {
45115 _localctx.exception = re;
45116 _errHandler.reportError(this, re);
45117 _errHandler.recover(this, re);
45118 }
45119 finally {
45120 exitRule();
45121 }
45122 return _localctx;
45123 }
45124
45125 public static class AssemblyPermissionContext extends ParserRuleContext {
45126 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45127 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45128 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45129 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45130 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45131 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45132 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45133 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45134 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
45135 public AssemblyPermissionContext(ParserRuleContext parent, int invokingState) {
45136 super(parent, invokingState);
45137 }
45138 @Override public int getRuleIndex() { return RULE_assemblyPermission; }
45139 @Override
45140 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45141 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssemblyPermission(this);
45142 else return visitor.visitChildren(this);
45143 }
45144 }
45145
45146 public final AssemblyPermissionContext assemblyPermission() throws RecognitionException {
45147 AssemblyPermissionContext _localctx = new AssemblyPermissionContext(_ctx, getState());
45148 enterRule(_localctx, 856, RULE_assemblyPermission);
45149 try {
45150 setState(6310);
45151 _errHandler.sync(this);
45152 switch ( getInterpreter().adaptivePredict(_input,727,_ctx) ) {
45153 case 1:
45154 enterOuterAlt(_localctx, 1);
45155 {
45156 setState(6300);
45157 match(CONTROL);
45158 }
45159 break;
45160 case 2:
45161 enterOuterAlt(_localctx, 2);
45162 {
45163 setState(6301);
45164 match(TAKE);
45165 setState(6302);
45166 match(OWNERSHIP);
45167 }
45168 break;
45169 case 3:
45170 enterOuterAlt(_localctx, 3);
45171 {
45172 setState(6303);
45173 match(ALTER);
45174 }
45175 break;
45176 case 4:
45177 enterOuterAlt(_localctx, 4);
45178 {
45179 setState(6304);
45180 match(REFERENCES);
45181 }
45182 break;
45183 case 5:
45184 enterOuterAlt(_localctx, 5);
45185 {
45186 setState(6305);
45187 match(VIEW);
45188 setState(6306);
45189 match(DEFINITION);
45190 }
45191 break;
45192 case 6:
45193 enterOuterAlt(_localctx, 6);
45194 {
45195 setState(6307);
45196 match(ALTER);
45197 setState(6308);
45198 match(ANY);
45199 setState(6309);
45200 match(ASSEMBLY);
45201 }
45202 break;
45203 }
45204 }
45205 catch (RecognitionException re) {
45206 _localctx.exception = re;
45207 _errHandler.reportError(this, re);
45208 _errHandler.recover(this, re);
45209 }
45210 finally {
45211 exitRule();
45212 }
45213 return _localctx;
45214 }
45215
45216 public static class AvailabilityGroupPermissionContext extends ParserRuleContext {
45217 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45218 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
45219 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45220 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
45221 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45222 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45223 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45224 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45225 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45226 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
45227 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
45228 public AvailabilityGroupPermissionContext(ParserRuleContext parent, int invokingState) {
45229 super(parent, invokingState);
45230 }
45231 @Override public int getRuleIndex() { return RULE_availabilityGroupPermission; }
45232 @Override
45233 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45234 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAvailabilityGroupPermission(this);
45235 else return visitor.visitChildren(this);
45236 }
45237 }
45238
45239 public final AvailabilityGroupPermissionContext availabilityGroupPermission() throws RecognitionException {
45240 AvailabilityGroupPermissionContext _localctx = new AvailabilityGroupPermissionContext(_ctx, getState());
45241 enterRule(_localctx, 858, RULE_availabilityGroupPermission);
45242 int _la;
45243 try {
45244 setState(6329);
45245 _errHandler.sync(this);
45246 switch ( getInterpreter().adaptivePredict(_input,730,_ctx) ) {
45247 case 1:
45248 enterOuterAlt(_localctx, 1);
45249 {
45250 setState(6312);
45251 match(ALTER);
45252 }
45253 break;
45254 case 2:
45255 enterOuterAlt(_localctx, 2);
45256 {
45257 setState(6313);
45258 match(CONNECT);
45259 }
45260 break;
45261 case 3:
45262 enterOuterAlt(_localctx, 3);
45263 {
45264 setState(6314);
45265 match(CONTROL);
45266 setState(6316);
45267 _errHandler.sync(this);
45268 _la = _input.LA(1);
45269 if (_la==SERVER) {
45270 {
45271 setState(6315);
45272 match(SERVER);
45273 }
45274 }
45275
45276 }
45277 break;
45278 case 4:
45279 enterOuterAlt(_localctx, 4);
45280 {
45281 setState(6318);
45282 match(TAKE);
45283 setState(6319);
45284 match(OWNERSHIP);
45285 }
45286 break;
45287 case 5:
45288 enterOuterAlt(_localctx, 5);
45289 {
45290 setState(6320);
45291 match(VIEW);
45292 setState(6322);
45293 _errHandler.sync(this);
45294 _la = _input.LA(1);
45295 if (_la==ANY) {
45296 {
45297 setState(6321);
45298 match(ANY);
45299 }
45300 }
45301
45302 setState(6324);
45303 match(DEFINITION);
45304 }
45305 break;
45306 case 6:
45307 enterOuterAlt(_localctx, 6);
45308 {
45309 setState(6325);
45310 match(ALTER);
45311 setState(6326);
45312 match(ANY);
45313 setState(6327);
45314 match(AVAILABILITY);
45315 setState(6328);
45316 match(GROUP);
45317 }
45318 break;
45319 }
45320 }
45321 catch (RecognitionException re) {
45322 _localctx.exception = re;
45323 _errHandler.reportError(this, re);
45324 _errHandler.recover(this, re);
45325 }
45326 finally {
45327 exitRule();
45328 }
45329 return _localctx;
45330 }
45331
45332 public static class FullTextPermissionContext extends ParserRuleContext {
45333 public FullTextCatalogPermissionContext fullTextCatalogPermission() {
45334 return getRuleContext(FullTextCatalogPermissionContext.class,0);
45335 }
45336 public FullTextStoplistPermissionContext fullTextStoplistPermission() {
45337 return getRuleContext(FullTextStoplistPermissionContext.class,0);
45338 }
45339 public FullTextPermissionContext(ParserRuleContext parent, int invokingState) {
45340 super(parent, invokingState);
45341 }
45342 @Override public int getRuleIndex() { return RULE_fullTextPermission; }
45343 @Override
45344 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45345 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextPermission(this);
45346 else return visitor.visitChildren(this);
45347 }
45348 }
45349
45350 public final FullTextPermissionContext fullTextPermission() throws RecognitionException {
45351 FullTextPermissionContext _localctx = new FullTextPermissionContext(_ctx, getState());
45352 enterRule(_localctx, 860, RULE_fullTextPermission);
45353 try {
45354 setState(6333);
45355 _errHandler.sync(this);
45356 switch ( getInterpreter().adaptivePredict(_input,731,_ctx) ) {
45357 case 1:
45358 enterOuterAlt(_localctx, 1);
45359 {
45360 setState(6331);
45361 fullTextCatalogPermission();
45362 }
45363 break;
45364 case 2:
45365 enterOuterAlt(_localctx, 2);
45366 {
45367 setState(6332);
45368 fullTextStoplistPermission();
45369 }
45370 break;
45371 }
45372 }
45373 catch (RecognitionException re) {
45374 _localctx.exception = re;
45375 _errHandler.reportError(this, re);
45376 _errHandler.recover(this, re);
45377 }
45378 finally {
45379 exitRule();
45380 }
45381 return _localctx;
45382 }
45383
45384 public static class FullTextCatalogPermissionContext extends ParserRuleContext {
45385 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45386 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45387 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45388 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45389 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45390 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45391 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45392 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45393 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
45394 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
45395 public FullTextCatalogPermissionContext(ParserRuleContext parent, int invokingState) {
45396 super(parent, invokingState);
45397 }
45398 @Override public int getRuleIndex() { return RULE_fullTextCatalogPermission; }
45399 @Override
45400 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45401 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextCatalogPermission(this);
45402 else return visitor.visitChildren(this);
45403 }
45404 }
45405
45406 public final FullTextCatalogPermissionContext fullTextCatalogPermission() throws RecognitionException {
45407 FullTextCatalogPermissionContext _localctx = new FullTextCatalogPermissionContext(_ctx, getState());
45408 enterRule(_localctx, 862, RULE_fullTextCatalogPermission);
45409 try {
45410 setState(6346);
45411 _errHandler.sync(this);
45412 switch ( getInterpreter().adaptivePredict(_input,732,_ctx) ) {
45413 case 1:
45414 enterOuterAlt(_localctx, 1);
45415 {
45416 setState(6335);
45417 match(CONTROL);
45418 }
45419 break;
45420 case 2:
45421 enterOuterAlt(_localctx, 2);
45422 {
45423 setState(6336);
45424 match(TAKE);
45425 setState(6337);
45426 match(OWNERSHIP);
45427 }
45428 break;
45429 case 3:
45430 enterOuterAlt(_localctx, 3);
45431 {
45432 setState(6338);
45433 match(ALTER);
45434 }
45435 break;
45436 case 4:
45437 enterOuterAlt(_localctx, 4);
45438 {
45439 setState(6339);
45440 match(REFERENCES);
45441 }
45442 break;
45443 case 5:
45444 enterOuterAlt(_localctx, 5);
45445 {
45446 setState(6340);
45447 match(VIEW);
45448 setState(6341);
45449 match(DEFINITION);
45450 }
45451 break;
45452 case 6:
45453 enterOuterAlt(_localctx, 6);
45454 {
45455 setState(6342);
45456 match(ALTER);
45457 setState(6343);
45458 match(ANY);
45459 setState(6344);
45460 match(FULLTEXT);
45461 setState(6345);
45462 match(CATALOG);
45463 }
45464 break;
45465 }
45466 }
45467 catch (RecognitionException re) {
45468 _localctx.exception = re;
45469 _errHandler.reportError(this, re);
45470 _errHandler.recover(this, re);
45471 }
45472 finally {
45473 exitRule();
45474 }
45475 return _localctx;
45476 }
45477
45478 public static class FullTextStoplistPermissionContext extends ParserRuleContext {
45479 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45480 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45481 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45482 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45483 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45484 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45485 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45486 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45487 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
45488 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
45489 public FullTextStoplistPermissionContext(ParserRuleContext parent, int invokingState) {
45490 super(parent, invokingState);
45491 }
45492 @Override public int getRuleIndex() { return RULE_fullTextStoplistPermission; }
45493 @Override
45494 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45495 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextStoplistPermission(this);
45496 else return visitor.visitChildren(this);
45497 }
45498 }
45499
45500 public final FullTextStoplistPermissionContext fullTextStoplistPermission() throws RecognitionException {
45501 FullTextStoplistPermissionContext _localctx = new FullTextStoplistPermissionContext(_ctx, getState());
45502 enterRule(_localctx, 864, RULE_fullTextStoplistPermission);
45503 try {
45504 setState(6359);
45505 _errHandler.sync(this);
45506 switch ( getInterpreter().adaptivePredict(_input,733,_ctx) ) {
45507 case 1:
45508 enterOuterAlt(_localctx, 1);
45509 {
45510 setState(6348);
45511 match(ALTER);
45512 }
45513 break;
45514 case 2:
45515 enterOuterAlt(_localctx, 2);
45516 {
45517 setState(6349);
45518 match(CONTROL);
45519 }
45520 break;
45521 case 3:
45522 enterOuterAlt(_localctx, 3);
45523 {
45524 setState(6350);
45525 match(REFERENCES);
45526 }
45527 break;
45528 case 4:
45529 enterOuterAlt(_localctx, 4);
45530 {
45531 setState(6351);
45532 match(TAKE);
45533 setState(6352);
45534 match(OWNERSHIP);
45535 }
45536 break;
45537 case 5:
45538 enterOuterAlt(_localctx, 5);
45539 {
45540 setState(6353);
45541 match(VIEW);
45542 setState(6354);
45543 match(DEFINITION);
45544 }
45545 break;
45546 case 6:
45547 enterOuterAlt(_localctx, 6);
45548 {
45549 setState(6355);
45550 match(ALTER);
45551 setState(6356);
45552 match(ANY);
45553 setState(6357);
45554 match(FULLTEXT);
45555 setState(6358);
45556 match(CATALOG);
45557 }
45558 break;
45559 }
45560 }
45561 catch (RecognitionException re) {
45562 _localctx.exception = re;
45563 _errHandler.reportError(this, re);
45564 _errHandler.recover(this, re);
45565 }
45566 finally {
45567 exitRule();
45568 }
45569 return _localctx;
45570 }
45571
45572 public static class TypePermissionContext extends ParserRuleContext {
45573 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45574 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
45575 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45576 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45577 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45578 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45579 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45580 public TypePermissionContext(ParserRuleContext parent, int invokingState) {
45581 super(parent, invokingState);
45582 }
45583 @Override public int getRuleIndex() { return RULE_typePermission; }
45584 @Override
45585 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45586 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTypePermission(this);
45587 else return visitor.visitChildren(this);
45588 }
45589 }
45590
45591 public final TypePermissionContext typePermission() throws RecognitionException {
45592 TypePermissionContext _localctx = new TypePermissionContext(_ctx, getState());
45593 enterRule(_localctx, 866, RULE_typePermission);
45594 try {
45595 setState(6368);
45596 _errHandler.sync(this);
45597 switch (_input.LA(1)) {
45598 case CONTROL:
45599 enterOuterAlt(_localctx, 1);
45600 {
45601 setState(6361);
45602 match(CONTROL);
45603 }
45604 break;
45605 case EXECUTE:
45606 enterOuterAlt(_localctx, 2);
45607 {
45608 setState(6362);
45609 match(EXECUTE);
45610 }
45611 break;
45612 case REFERENCES:
45613 enterOuterAlt(_localctx, 3);
45614 {
45615 setState(6363);
45616 match(REFERENCES);
45617 }
45618 break;
45619 case TAKE:
45620 enterOuterAlt(_localctx, 4);
45621 {
45622 setState(6364);
45623 match(TAKE);
45624 setState(6365);
45625 match(OWNERSHIP);
45626 }
45627 break;
45628 case VIEW:
45629 enterOuterAlt(_localctx, 5);
45630 {
45631 setState(6366);
45632 match(VIEW);
45633 setState(6367);
45634 match(DEFINITION);
45635 }
45636 break;
45637 default:
45638 throw new NoViableAltException(this);
45639 }
45640 }
45641 catch (RecognitionException re) {
45642 _localctx.exception = re;
45643 _errHandler.reportError(this, re);
45644 _errHandler.recover(this, re);
45645 }
45646 finally {
45647 exitRule();
45648 }
45649 return _localctx;
45650 }
45651
45652 public static class XmlSchemaCollectionPermissionContext extends ParserRuleContext {
45653 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45654 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45655 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
45656 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45657 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45658 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45659 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45660 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45661 public XmlSchemaCollectionPermissionContext(ParserRuleContext parent, int invokingState) {
45662 super(parent, invokingState);
45663 }
45664 @Override public int getRuleIndex() { return RULE_xmlSchemaCollectionPermission; }
45665 @Override
45666 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45667 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlSchemaCollectionPermission(this);
45668 else return visitor.visitChildren(this);
45669 }
45670 }
45671
45672 public final XmlSchemaCollectionPermissionContext xmlSchemaCollectionPermission() throws RecognitionException {
45673 XmlSchemaCollectionPermissionContext _localctx = new XmlSchemaCollectionPermissionContext(_ctx, getState());
45674 enterRule(_localctx, 868, RULE_xmlSchemaCollectionPermission);
45675 try {
45676 setState(6378);
45677 _errHandler.sync(this);
45678 switch (_input.LA(1)) {
45679 case ALTER:
45680 enterOuterAlt(_localctx, 1);
45681 {
45682 setState(6370);
45683 match(ALTER);
45684 }
45685 break;
45686 case CONTROL:
45687 enterOuterAlt(_localctx, 2);
45688 {
45689 setState(6371);
45690 match(CONTROL);
45691 }
45692 break;
45693 case EXECUTE:
45694 enterOuterAlt(_localctx, 3);
45695 {
45696 setState(6372);
45697 match(EXECUTE);
45698 }
45699 break;
45700 case REFERENCES:
45701 enterOuterAlt(_localctx, 4);
45702 {
45703 setState(6373);
45704 match(REFERENCES);
45705 }
45706 break;
45707 case TAKE:
45708 enterOuterAlt(_localctx, 5);
45709 {
45710 setState(6374);
45711 match(TAKE);
45712 setState(6375);
45713 match(OWNERSHIP);
45714 }
45715 break;
45716 case VIEW:
45717 enterOuterAlt(_localctx, 6);
45718 {
45719 setState(6376);
45720 match(VIEW);
45721 setState(6377);
45722 match(DEFINITION);
45723 }
45724 break;
45725 default:
45726 throw new NoViableAltException(this);
45727 }
45728 }
45729 catch (RecognitionException re) {
45730 _localctx.exception = re;
45731 _errHandler.reportError(this, re);
45732 _errHandler.recover(this, re);
45733 }
45734 finally {
45735 exitRule();
45736 }
45737 return _localctx;
45738 }
45739
45740 public static class SystemObjectPermissionContext extends ParserRuleContext {
45741 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
45742 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
45743 public SystemObjectPermissionContext(ParserRuleContext parent, int invokingState) {
45744 super(parent, invokingState);
45745 }
45746 @Override public int getRuleIndex() { return RULE_systemObjectPermission; }
45747 @Override
45748 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45749 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSystemObjectPermission(this);
45750 else return visitor.visitChildren(this);
45751 }
45752 }
45753
45754 public final SystemObjectPermissionContext systemObjectPermission() throws RecognitionException {
45755 SystemObjectPermissionContext _localctx = new SystemObjectPermissionContext(_ctx, getState());
45756 enterRule(_localctx, 870, RULE_systemObjectPermission);
45757 int _la;
45758 try {
45759 enterOuterAlt(_localctx, 1);
45760 {
45761 setState(6380);
45762 _la = _input.LA(1);
45763 if ( !(_la==SELECT || _la==EXECUTE) ) {
45764 _errHandler.recoverInline(this);
45765 }
45766 else {
45767 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
45768 _errHandler.reportMatch(this);
45769 consume();
45770 }
45771 }
45772 }
45773 catch (RecognitionException re) {
45774 _localctx.exception = re;
45775 _errHandler.reportError(this, re);
45776 _errHandler.recover(this, re);
45777 }
45778 finally {
45779 exitRule();
45780 }
45781 return _localctx;
45782 }
45783
45784 public static class Class_Context extends ParserRuleContext {
45785 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
45786 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
45787 public TerminalNode COLON_(int i) {
45788 return getToken(SQLServerStatementParser.COLON_, i);
45789 }
45790 public Class_Context(ParserRuleContext parent, int invokingState) {
45791 super(parent, invokingState);
45792 }
45793 @Override public int getRuleIndex() { return RULE_class_; }
45794 @Override
45795 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45796 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClass_(this);
45797 else return visitor.visitChildren(this);
45798 }
45799 }
45800
45801 public final Class_Context class_() throws RecognitionException {
45802 Class_Context _localctx = new Class_Context(_ctx, getState());
45803 enterRule(_localctx, 872, RULE_class_);
45804 try {
45805 enterOuterAlt(_localctx, 1);
45806 {
45807 setState(6382);
45808 match(IDENTIFIER_);
45809 setState(6383);
45810 match(COLON_);
45811 setState(6384);
45812 match(COLON_);
45813 }
45814 }
45815 catch (RecognitionException re) {
45816 _localctx.exception = re;
45817 _errHandler.reportError(this, re);
45818 _errHandler.recover(this, re);
45819 }
45820 finally {
45821 exitRule();
45822 }
45823 return _localctx;
45824 }
45825
45826 public static class ClassItemContext extends ParserRuleContext {
45827 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
45828 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
45829 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
45830 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
45831 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
45832 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
45833 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
45834 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
45835 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
45836 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
45837 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
45838 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
45839 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
45840 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
45841 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
45842 public TerminalNode STOPLIST() { return getToken(SQLServerStatementParser.STOPLIST, 0); }
45843 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
45844 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
45845 public TerminalNode SEARCH() { return getToken(SQLServerStatementParser.SEARCH, 0); }
45846 public TerminalNode PROPERTY() { return getToken(SQLServerStatementParser.PROPERTY, 0); }
45847 public TerminalNode LIST() { return getToken(SQLServerStatementParser.LIST, 0); }
45848 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
45849 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
45850 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
45851 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
45852 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
45853 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
45854 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
45855 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
45856 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
45857 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
45858 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
45859 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
45860 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
45861 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
45862 public ClassItemContext(ParserRuleContext parent, int invokingState) {
45863 super(parent, invokingState);
45864 }
45865 @Override public int getRuleIndex() { return RULE_classItem; }
45866 @Override
45867 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45868 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassItem(this);
45869 else return visitor.visitChildren(this);
45870 }
45871 }
45872
45873 public final ClassItemContext classItem() throws RecognitionException {
45874 ClassItemContext _localctx = new ClassItemContext(_ctx, getState());
45875 enterRule(_localctx, 874, RULE_classItem);
45876 int _la;
45877 try {
45878 setState(6426);
45879 _errHandler.sync(this);
45880 switch (_input.LA(1)) {
45881 case ASSEMBLY:
45882 enterOuterAlt(_localctx, 1);
45883 {
45884 setState(6386);
45885 match(ASSEMBLY);
45886 }
45887 break;
45888 case ASYMMETRIC:
45889 enterOuterAlt(_localctx, 2);
45890 {
45891 setState(6387);
45892 match(ASYMMETRIC);
45893 setState(6388);
45894 match(KEY);
45895 }
45896 break;
45897 case AVAILABILITY:
45898 enterOuterAlt(_localctx, 3);
45899 {
45900 setState(6389);
45901 match(AVAILABILITY);
45902 setState(6390);
45903 match(GROUP);
45904 }
45905 break;
45906 case CERTIFICATE:
45907 enterOuterAlt(_localctx, 4);
45908 {
45909 setState(6391);
45910 match(CERTIFICATE);
45911 }
45912 break;
45913 case USER:
45914 enterOuterAlt(_localctx, 5);
45915 {
45916 setState(6392);
45917 match(USER);
45918 }
45919 break;
45920 case ROLE:
45921 enterOuterAlt(_localctx, 6);
45922 {
45923 setState(6393);
45924 match(ROLE);
45925 }
45926 break;
45927 case APPLICATION:
45928 enterOuterAlt(_localctx, 7);
45929 {
45930 setState(6394);
45931 match(APPLICATION);
45932 setState(6395);
45933 match(ROLE);
45934 }
45935 break;
45936 case DATABASE:
45937 enterOuterAlt(_localctx, 8);
45938 {
45939 setState(6396);
45940 match(DATABASE);
45941 setState(6397);
45942 match(SCOPED);
45943 setState(6398);
45944 match(CREDENTIAL);
45945 }
45946 break;
45947 case ENDPOINT:
45948 enterOuterAlt(_localctx, 9);
45949 {
45950 setState(6399);
45951 match(ENDPOINT);
45952 }
45953 break;
45954 case FULLTEXT:
45955 enterOuterAlt(_localctx, 10);
45956 {
45957 setState(6400);
45958 match(FULLTEXT);
45959 setState(6401);
45960 _la = _input.LA(1);
45961 if ( !(_la==CATALOG || _la==STOPLIST) ) {
45962 _errHandler.recoverInline(this);
45963 }
45964 else {
45965 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
45966 _errHandler.reportMatch(this);
45967 consume();
45968 }
45969 }
45970 break;
45971 case OBJECT:
45972 enterOuterAlt(_localctx, 11);
45973 {
45974 setState(6402);
45975 match(OBJECT);
45976 }
45977 break;
45978 case SCHEMA:
45979 enterOuterAlt(_localctx, 12);
45980 {
45981 setState(6403);
45982 match(SCHEMA);
45983 }
45984 break;
45985 case SEARCH:
45986 enterOuterAlt(_localctx, 13);
45987 {
45988 setState(6404);
45989 match(SEARCH);
45990 setState(6405);
45991 match(PROPERTY);
45992 setState(6406);
45993 match(LIST);
45994 }
45995 break;
45996 case LOGIN:
45997 enterOuterAlt(_localctx, 14);
45998 {
45999 setState(6407);
46000 match(LOGIN);
46001 }
46002 break;
46003 case SERVER:
46004 enterOuterAlt(_localctx, 15);
46005 {
46006 setState(6408);
46007 match(SERVER);
46008 setState(6409);
46009 match(ROLE);
46010 }
46011 break;
46012 case CONTRACT:
46013 enterOuterAlt(_localctx, 16);
46014 {
46015 setState(6410);
46016 match(CONTRACT);
46017 }
46018 break;
46019 case MESSAGE:
46020 enterOuterAlt(_localctx, 17);
46021 {
46022 setState(6411);
46023 match(MESSAGE);
46024 setState(6412);
46025 match(TYPE);
46026 }
46027 break;
46028 case REMOTE:
46029 enterOuterAlt(_localctx, 18);
46030 {
46031 setState(6413);
46032 match(REMOTE);
46033 setState(6414);
46034 match(SERVICE);
46035 setState(6415);
46036 match(BINDING);
46037 }
46038 break;
46039 case ROUTE:
46040 enterOuterAlt(_localctx, 19);
46041 {
46042 setState(6416);
46043 match(ROUTE);
46044 }
46045 break;
46046 case SERVICE:
46047 enterOuterAlt(_localctx, 20);
46048 {
46049 setState(6417);
46050 match(SERVICE);
46051 }
46052 break;
46053 case SYMMETRIC:
46054 enterOuterAlt(_localctx, 21);
46055 {
46056 setState(6418);
46057 match(SYMMETRIC);
46058 setState(6419);
46059 match(KEY);
46060 }
46061 break;
46062 case SELECT:
46063 enterOuterAlt(_localctx, 22);
46064 {
46065 setState(6420);
46066 match(SELECT);
46067 }
46068 break;
46069 case EXECUTE:
46070 enterOuterAlt(_localctx, 23);
46071 {
46072 setState(6421);
46073 match(EXECUTE);
46074 }
46075 break;
46076 case TYPE:
46077 enterOuterAlt(_localctx, 24);
46078 {
46079 setState(6422);
46080 match(TYPE);
46081 }
46082 break;
46083 case XML:
46084 enterOuterAlt(_localctx, 25);
46085 {
46086 setState(6423);
46087 match(XML);
46088 setState(6424);
46089 match(SCHEMA);
46090 setState(6425);
46091 match(COLLECTION);
46092 }
46093 break;
46094 default:
46095 throw new NoViableAltException(this);
46096 }
46097 }
46098 catch (RecognitionException re) {
46099 _localctx.exception = re;
46100 _errHandler.reportError(this, re);
46101 _errHandler.recover(this, re);
46102 }
46103 finally {
46104 exitRule();
46105 }
46106 return _localctx;
46107 }
46108
46109 public static class ClassTypeContext extends ParserRuleContext {
46110 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
46111 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
46112 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
46113 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
46114 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
46115 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
46116 public ClassTypeContext(ParserRuleContext parent, int invokingState) {
46117 super(parent, invokingState);
46118 }
46119 @Override public int getRuleIndex() { return RULE_classType; }
46120 @Override
46121 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46122 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassType(this);
46123 else return visitor.visitChildren(this);
46124 }
46125 }
46126
46127 public final ClassTypeContext classType() throws RecognitionException {
46128 ClassTypeContext _localctx = new ClassTypeContext(_ctx, getState());
46129 enterRule(_localctx, 876, RULE_classType);
46130 int _la;
46131 try {
46132 enterOuterAlt(_localctx, 1);
46133 {
46134 setState(6428);
46135 _la = _input.LA(1);
46136 if ( !(_la==SCHEMA || ((((_la - 204)) & ~0x3f) == 0 && ((1L << (_la - 204)) & ((1L << (DATABASE - 204)) | (1L << (USER - 204)) | (1L << (ROLE - 204)))) != 0) || _la==LOGIN || _la==OBJECT) ) {
46137 _errHandler.recoverInline(this);
46138 }
46139 else {
46140 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46141 _errHandler.reportMatch(this);
46142 consume();
46143 }
46144 }
46145 }
46146 catch (RecognitionException re) {
46147 _localctx.exception = re;
46148 _errHandler.reportError(this, re);
46149 _errHandler.recover(this, re);
46150 }
46151 finally {
46152 exitRule();
46153 }
46154 return _localctx;
46155 }
46156
46157 public static class RoleClauseContext extends ParserRuleContext {
46158 public IgnoredIdentifiersContext ignoredIdentifiers() {
46159 return getRuleContext(IgnoredIdentifiersContext.class,0);
46160 }
46161 public RoleClauseContext(ParserRuleContext parent, int invokingState) {
46162 super(parent, invokingState);
46163 }
46164 @Override public int getRuleIndex() { return RULE_roleClause; }
46165 @Override
46166 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46167 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRoleClause(this);
46168 else return visitor.visitChildren(this);
46169 }
46170 }
46171
46172 public final RoleClauseContext roleClause() throws RecognitionException {
46173 RoleClauseContext _localctx = new RoleClauseContext(_ctx, getState());
46174 enterRule(_localctx, 878, RULE_roleClause);
46175 try {
46176 enterOuterAlt(_localctx, 1);
46177 {
46178 setState(6430);
46179 ignoredIdentifiers();
46180 }
46181 }
46182 catch (RecognitionException re) {
46183 _localctx.exception = re;
46184 _errHandler.reportError(this, re);
46185 _errHandler.recover(this, re);
46186 }
46187 finally {
46188 exitRule();
46189 }
46190 return _localctx;
46191 }
46192
46193 public static class SetUserContext extends ParserRuleContext {
46194 public TerminalNode SETUSER() { return getToken(SQLServerStatementParser.SETUSER, 0); }
46195 public StringLiteralsContext stringLiterals() {
46196 return getRuleContext(StringLiteralsContext.class,0);
46197 }
46198 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
46199 public TerminalNode NORESET() { return getToken(SQLServerStatementParser.NORESET, 0); }
46200 public SetUserContext(ParserRuleContext parent, int invokingState) {
46201 super(parent, invokingState);
46202 }
46203 @Override public int getRuleIndex() { return RULE_setUser; }
46204 @Override
46205 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46206 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetUser(this);
46207 else return visitor.visitChildren(this);
46208 }
46209 }
46210
46211 public final SetUserContext setUser() throws RecognitionException {
46212 SetUserContext _localctx = new SetUserContext(_ctx, getState());
46213 enterRule(_localctx, 880, RULE_setUser);
46214 int _la;
46215 try {
46216 enterOuterAlt(_localctx, 1);
46217 {
46218 setState(6432);
46219 match(SETUSER);
46220 setState(6438);
46221 _errHandler.sync(this);
46222 _la = _input.LA(1);
46223 if (_la==STRING_ || _la==NCHAR_TEXT) {
46224 {
46225 setState(6433);
46226 stringLiterals();
46227 setState(6436);
46228 _errHandler.sync(this);
46229 _la = _input.LA(1);
46230 if (_la==WITH) {
46231 {
46232 setState(6434);
46233 match(WITH);
46234 setState(6435);
46235 match(NORESET);
46236 }
46237 }
46238
46239 }
46240 }
46241
46242 }
46243 }
46244 catch (RecognitionException re) {
46245 _localctx.exception = re;
46246 _errHandler.reportError(this, re);
46247 _errHandler.recover(this, re);
46248 }
46249 finally {
46250 exitRule();
46251 }
46252 return _localctx;
46253 }
46254
46255 public static class CreateUserContext extends ParserRuleContext {
46256 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
46257 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
46258 public CreateUserLoginClauseContext createUserLoginClause() {
46259 return getRuleContext(CreateUserLoginClauseContext.class,0);
46260 }
46261 public CreateUserWindowsPrincipalClauseContext createUserWindowsPrincipalClause() {
46262 return getRuleContext(CreateUserWindowsPrincipalClauseContext.class,0);
46263 }
46264 public CreateUserLoginWindowsPrincipalClauseContext createUserLoginWindowsPrincipalClause() {
46265 return getRuleContext(CreateUserLoginWindowsPrincipalClauseContext.class,0);
46266 }
46267 public CreateUserWithoutLoginClauseContext createUserWithoutLoginClause() {
46268 return getRuleContext(CreateUserWithoutLoginClauseContext.class,0);
46269 }
46270 public CreateUserFromExternalProviderClauseContext createUserFromExternalProviderClause() {
46271 return getRuleContext(CreateUserFromExternalProviderClauseContext.class,0);
46272 }
46273 public CreateUserWithDefaultSchemaContext createUserWithDefaultSchema() {
46274 return getRuleContext(CreateUserWithDefaultSchemaContext.class,0);
46275 }
46276 public CreateUserWithAzureActiveDirectoryPrincipalClauseContext createUserWithAzureActiveDirectoryPrincipalClause() {
46277 return getRuleContext(CreateUserWithAzureActiveDirectoryPrincipalClauseContext.class,0);
46278 }
46279 public UserNameContext userName() {
46280 return getRuleContext(UserNameContext.class,0);
46281 }
46282 public CreateUserContext(ParserRuleContext parent, int invokingState) {
46283 super(parent, invokingState);
46284 }
46285 @Override public int getRuleIndex() { return RULE_createUser; }
46286 @Override
46287 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46288 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUser(this);
46289 else return visitor.visitChildren(this);
46290 }
46291 }
46292
46293 public final CreateUserContext createUser() throws RecognitionException {
46294 CreateUserContext _localctx = new CreateUserContext(_ctx, getState());
46295 enterRule(_localctx, 882, RULE_createUser);
46296 try {
46297 enterOuterAlt(_localctx, 1);
46298 {
46299 setState(6440);
46300 match(CREATE);
46301 setState(6441);
46302 match(USER);
46303 setState(6450);
46304 _errHandler.sync(this);
46305 switch ( getInterpreter().adaptivePredict(_input,739,_ctx) ) {
46306 case 1:
46307 {
46308 setState(6442);
46309 createUserLoginClause();
46310 }
46311 break;
46312 case 2:
46313 {
46314 setState(6443);
46315 createUserWindowsPrincipalClause();
46316 }
46317 break;
46318 case 3:
46319 {
46320 setState(6444);
46321 createUserLoginWindowsPrincipalClause();
46322 }
46323 break;
46324 case 4:
46325 {
46326 setState(6445);
46327 createUserWithoutLoginClause();
46328 }
46329 break;
46330 case 5:
46331 {
46332 setState(6446);
46333 createUserFromExternalProviderClause();
46334 }
46335 break;
46336 case 6:
46337 {
46338 setState(6447);
46339 createUserWithDefaultSchema();
46340 }
46341 break;
46342 case 7:
46343 {
46344 setState(6448);
46345 createUserWithAzureActiveDirectoryPrincipalClause();
46346 }
46347 break;
46348 case 8:
46349 {
46350 setState(6449);
46351 userName();
46352 }
46353 break;
46354 }
46355 }
46356 }
46357 catch (RecognitionException re) {
46358 _localctx.exception = re;
46359 _errHandler.reportError(this, re);
46360 _errHandler.recover(this, re);
46361 }
46362 finally {
46363 exitRule();
46364 }
46365 return _localctx;
46366 }
46367
46368 public static class CreateUserLoginClauseContext extends ParserRuleContext {
46369 public UserNameContext userName() {
46370 return getRuleContext(UserNameContext.class,0);
46371 }
46372 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
46373 public IdentifierContext identifier() {
46374 return getRuleContext(IdentifierContext.class,0);
46375 }
46376 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
46377 public List<LimitedOptionsListContext> limitedOptionsList() {
46378 return getRuleContexts(LimitedOptionsListContext.class);
46379 }
46380 public LimitedOptionsListContext limitedOptionsList(int i) {
46381 return getRuleContext(LimitedOptionsListContext.class,i);
46382 }
46383 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
46384 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
46385 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
46386 public TerminalNode COMMA_(int i) {
46387 return getToken(SQLServerStatementParser.COMMA_, i);
46388 }
46389 public CreateUserLoginClauseContext(ParserRuleContext parent, int invokingState) {
46390 super(parent, invokingState);
46391 }
46392 @Override public int getRuleIndex() { return RULE_createUserLoginClause; }
46393 @Override
46394 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46395 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserLoginClause(this);
46396 else return visitor.visitChildren(this);
46397 }
46398 }
46399
46400 public final CreateUserLoginClauseContext createUserLoginClause() throws RecognitionException {
46401 CreateUserLoginClauseContext _localctx = new CreateUserLoginClauseContext(_ctx, getState());
46402 enterRule(_localctx, 884, RULE_createUserLoginClause);
46403 int _la;
46404 try {
46405 enterOuterAlt(_localctx, 1);
46406 {
46407 setState(6452);
46408 userName();
46409 setState(6456);
46410 _errHandler.sync(this);
46411 _la = _input.LA(1);
46412 if (_la==FROM || _la==FOR) {
46413 {
46414 setState(6453);
46415 _la = _input.LA(1);
46416 if ( !(_la==FROM || _la==FOR) ) {
46417 _errHandler.recoverInline(this);
46418 }
46419 else {
46420 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46421 _errHandler.reportMatch(this);
46422 consume();
46423 }
46424 setState(6454);
46425 match(LOGIN);
46426 setState(6455);
46427 identifier();
46428 }
46429 }
46430
46431 setState(6467);
46432 _errHandler.sync(this);
46433 _la = _input.LA(1);
46434 if (_la==WITH) {
46435 {
46436 setState(6458);
46437 match(WITH);
46438 setState(6459);
46439 limitedOptionsList();
46440 setState(6464);
46441 _errHandler.sync(this);
46442 _la = _input.LA(1);
46443 while (_la==COMMA_) {
46444 {
46445 {
46446 setState(6460);
46447 match(COMMA_);
46448 setState(6461);
46449 limitedOptionsList();
46450 }
46451 }
46452 setState(6466);
46453 _errHandler.sync(this);
46454 _la = _input.LA(1);
46455 }
46456 }
46457 }
46458
46459 }
46460 }
46461 catch (RecognitionException re) {
46462 _localctx.exception = re;
46463 _errHandler.reportError(this, re);
46464 _errHandler.recover(this, re);
46465 }
46466 finally {
46467 exitRule();
46468 }
46469 return _localctx;
46470 }
46471
46472 public static class CreateUserWindowsPrincipalClauseContext extends ParserRuleContext {
46473 public WindowsPrincipalContext windowsPrincipal() {
46474 return getRuleContext(WindowsPrincipalContext.class,0);
46475 }
46476 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
46477 public List<OptionsListContext> optionsList() {
46478 return getRuleContexts(OptionsListContext.class);
46479 }
46480 public OptionsListContext optionsList(int i) {
46481 return getRuleContext(OptionsListContext.class,i);
46482 }
46483 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
46484 public TerminalNode COMMA_(int i) {
46485 return getToken(SQLServerStatementParser.COMMA_, i);
46486 }
46487 public UserNameContext userName() {
46488 return getRuleContext(UserNameContext.class,0);
46489 }
46490 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
46491 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
46492 public StringLiteralsContext stringLiterals() {
46493 return getRuleContext(StringLiteralsContext.class,0);
46494 }
46495 public AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() {
46496 return getRuleContext(AzureActiveDirectoryPrincipalContext.class,0);
46497 }
46498 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
46499 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
46500 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
46501 public CreateUserWindowsPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
46502 super(parent, invokingState);
46503 }
46504 @Override public int getRuleIndex() { return RULE_createUserWindowsPrincipalClause; }
46505 @Override
46506 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46507 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWindowsPrincipalClause(this);
46508 else return visitor.visitChildren(this);
46509 }
46510 }
46511
46512 public final CreateUserWindowsPrincipalClauseContext createUserWindowsPrincipalClause() throws RecognitionException {
46513 CreateUserWindowsPrincipalClauseContext _localctx = new CreateUserWindowsPrincipalClauseContext(_ctx, getState());
46514 enterRule(_localctx, 886, RULE_createUserWindowsPrincipalClause);
46515 int _la;
46516 try {
46517 setState(6502);
46518 _errHandler.sync(this);
46519 switch ( getInterpreter().adaptivePredict(_input,747,_ctx) ) {
46520 case 1:
46521 enterOuterAlt(_localctx, 1);
46522 {
46523 setState(6469);
46524 windowsPrincipal();
46525 setState(6479);
46526 _errHandler.sync(this);
46527 _la = _input.LA(1);
46528 if (_la==WITH) {
46529 {
46530 setState(6470);
46531 match(WITH);
46532 setState(6471);
46533 optionsList();
46534 setState(6476);
46535 _errHandler.sync(this);
46536 _la = _input.LA(1);
46537 while (_la==COMMA_) {
46538 {
46539 {
46540 setState(6472);
46541 match(COMMA_);
46542 setState(6473);
46543 optionsList();
46544 }
46545 }
46546 setState(6478);
46547 _errHandler.sync(this);
46548 _la = _input.LA(1);
46549 }
46550 }
46551 }
46552
46553 }
46554 break;
46555 case 2:
46556 enterOuterAlt(_localctx, 2);
46557 {
46558 setState(6481);
46559 userName();
46560 setState(6482);
46561 match(WITH);
46562 setState(6483);
46563 match(PASSWORD);
46564 setState(6484);
46565 match(EQ_);
46566 setState(6485);
46567 stringLiterals();
46568 setState(6495);
46569 _errHandler.sync(this);
46570 _la = _input.LA(1);
46571 if (_la==COMMA_) {
46572 {
46573 setState(6486);
46574 match(COMMA_);
46575 setState(6487);
46576 optionsList();
46577 setState(6492);
46578 _errHandler.sync(this);
46579 _la = _input.LA(1);
46580 while (_la==COMMA_) {
46581 {
46582 {
46583 setState(6488);
46584 match(COMMA_);
46585 setState(6489);
46586 optionsList();
46587 }
46588 }
46589 setState(6494);
46590 _errHandler.sync(this);
46591 _la = _input.LA(1);
46592 }
46593 }
46594 }
46595
46596 }
46597 break;
46598 case 3:
46599 enterOuterAlt(_localctx, 3);
46600 {
46601 setState(6497);
46602 azureActiveDirectoryPrincipal();
46603 setState(6498);
46604 match(FROM);
46605 setState(6499);
46606 match(EXTERNAL);
46607 setState(6500);
46608 match(PROVIDER);
46609 }
46610 break;
46611 }
46612 }
46613 catch (RecognitionException re) {
46614 _localctx.exception = re;
46615 _errHandler.reportError(this, re);
46616 _errHandler.recover(this, re);
46617 }
46618 finally {
46619 exitRule();
46620 }
46621 return _localctx;
46622 }
46623
46624 public static class CreateUserLoginWindowsPrincipalClauseContext extends ParserRuleContext {
46625 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
46626 public List<LimitedOptionsListContext> limitedOptionsList() {
46627 return getRuleContexts(LimitedOptionsListContext.class);
46628 }
46629 public LimitedOptionsListContext limitedOptionsList(int i) {
46630 return getRuleContext(LimitedOptionsListContext.class,i);
46631 }
46632 public List<WindowsPrincipalContext> windowsPrincipal() {
46633 return getRuleContexts(WindowsPrincipalContext.class);
46634 }
46635 public WindowsPrincipalContext windowsPrincipal(int i) {
46636 return getRuleContext(WindowsPrincipalContext.class,i);
46637 }
46638 public UserNameContext userName() {
46639 return getRuleContext(UserNameContext.class,0);
46640 }
46641 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
46642 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
46643 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
46644 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
46645 public TerminalNode COMMA_(int i) {
46646 return getToken(SQLServerStatementParser.COMMA_, i);
46647 }
46648 public CreateUserLoginWindowsPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
46649 super(parent, invokingState);
46650 }
46651 @Override public int getRuleIndex() { return RULE_createUserLoginWindowsPrincipalClause; }
46652 @Override
46653 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46654 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserLoginWindowsPrincipalClause(this);
46655 else return visitor.visitChildren(this);
46656 }
46657 }
46658
46659 public final CreateUserLoginWindowsPrincipalClauseContext createUserLoginWindowsPrincipalClause() throws RecognitionException {
46660 CreateUserLoginWindowsPrincipalClauseContext _localctx = new CreateUserLoginWindowsPrincipalClauseContext(_ctx, getState());
46661 enterRule(_localctx, 888, RULE_createUserLoginWindowsPrincipalClause);
46662 int _la;
46663 try {
46664 enterOuterAlt(_localctx, 1);
46665 {
46666 setState(6515);
46667 _errHandler.sync(this);
46668 switch ( getInterpreter().adaptivePredict(_input,749,_ctx) ) {
46669 case 1:
46670 {
46671 {
46672 setState(6504);
46673 windowsPrincipal();
46674 setState(6508);
46675 _errHandler.sync(this);
46676 _la = _input.LA(1);
46677 if (_la==FROM || _la==FOR) {
46678 {
46679 setState(6505);
46680 _la = _input.LA(1);
46681 if ( !(_la==FROM || _la==FOR) ) {
46682 _errHandler.recoverInline(this);
46683 }
46684 else {
46685 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46686 _errHandler.reportMatch(this);
46687 consume();
46688 }
46689 setState(6506);
46690 match(LOGIN);
46691 setState(6507);
46692 windowsPrincipal();
46693 }
46694 }
46695
46696 }
46697 }
46698 break;
46699 case 2:
46700 {
46701 {
46702 setState(6510);
46703 userName();
46704 setState(6511);
46705 _la = _input.LA(1);
46706 if ( !(_la==FROM || _la==FOR) ) {
46707 _errHandler.recoverInline(this);
46708 }
46709 else {
46710 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46711 _errHandler.reportMatch(this);
46712 consume();
46713 }
46714 setState(6512);
46715 match(LOGIN);
46716 setState(6513);
46717 windowsPrincipal();
46718 }
46719 }
46720 break;
46721 }
46722 setState(6526);
46723 _errHandler.sync(this);
46724 _la = _input.LA(1);
46725 if (_la==WITH) {
46726 {
46727 setState(6517);
46728 match(WITH);
46729 setState(6518);
46730 limitedOptionsList();
46731 setState(6523);
46732 _errHandler.sync(this);
46733 _la = _input.LA(1);
46734 while (_la==COMMA_) {
46735 {
46736 {
46737 setState(6519);
46738 match(COMMA_);
46739 setState(6520);
46740 limitedOptionsList();
46741 }
46742 }
46743 setState(6525);
46744 _errHandler.sync(this);
46745 _la = _input.LA(1);
46746 }
46747 }
46748 }
46749
46750 }
46751 }
46752 catch (RecognitionException re) {
46753 _localctx.exception = re;
46754 _errHandler.reportError(this, re);
46755 _errHandler.recover(this, re);
46756 }
46757 finally {
46758 exitRule();
46759 }
46760 return _localctx;
46761 }
46762
46763 public static class CreateUserWithoutLoginClauseContext extends ParserRuleContext {
46764 public UserNameContext userName() {
46765 return getRuleContext(UserNameContext.class,0);
46766 }
46767 public TerminalNode WITHOUT() { return getToken(SQLServerStatementParser.WITHOUT, 0); }
46768 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
46769 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
46770 public IdentifierContext identifier() {
46771 return getRuleContext(IdentifierContext.class,0);
46772 }
46773 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
46774 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
46775 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
46776 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
46777 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
46778 public List<LimitedOptionsListContext> limitedOptionsList() {
46779 return getRuleContexts(LimitedOptionsListContext.class);
46780 }
46781 public LimitedOptionsListContext limitedOptionsList(int i) {
46782 return getRuleContext(LimitedOptionsListContext.class,i);
46783 }
46784 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
46785 public TerminalNode COMMA_(int i) {
46786 return getToken(SQLServerStatementParser.COMMA_, i);
46787 }
46788 public CreateUserWithoutLoginClauseContext(ParserRuleContext parent, int invokingState) {
46789 super(parent, invokingState);
46790 }
46791 @Override public int getRuleIndex() { return RULE_createUserWithoutLoginClause; }
46792 @Override
46793 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46794 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithoutLoginClause(this);
46795 else return visitor.visitChildren(this);
46796 }
46797 }
46798
46799 public final CreateUserWithoutLoginClauseContext createUserWithoutLoginClause() throws RecognitionException {
46800 CreateUserWithoutLoginClauseContext _localctx = new CreateUserWithoutLoginClauseContext(_ctx, getState());
46801 enterRule(_localctx, 890, RULE_createUserWithoutLoginClause);
46802 int _la;
46803 try {
46804 enterOuterAlt(_localctx, 1);
46805 {
46806 setState(6528);
46807 userName();
46808 setState(6549);
46809 _errHandler.sync(this);
46810 switch ( getInterpreter().adaptivePredict(_input,754,_ctx) ) {
46811 case 1:
46812 {
46813 setState(6529);
46814 match(WITHOUT);
46815 setState(6530);
46816 match(LOGIN);
46817 setState(6540);
46818 _errHandler.sync(this);
46819 _la = _input.LA(1);
46820 if (_la==WITH) {
46821 {
46822 setState(6531);
46823 match(WITH);
46824 setState(6532);
46825 limitedOptionsList();
46826 setState(6537);
46827 _errHandler.sync(this);
46828 _la = _input.LA(1);
46829 while (_la==COMMA_) {
46830 {
46831 {
46832 setState(6533);
46833 match(COMMA_);
46834 setState(6534);
46835 limitedOptionsList();
46836 }
46837 }
46838 setState(6539);
46839 _errHandler.sync(this);
46840 _la = _input.LA(1);
46841 }
46842 }
46843 }
46844
46845 }
46846 break;
46847 case 2:
46848 {
46849 setState(6542);
46850 _la = _input.LA(1);
46851 if ( !(_la==FROM || _la==FOR) ) {
46852 _errHandler.recoverInline(this);
46853 }
46854 else {
46855 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46856 _errHandler.reportMatch(this);
46857 consume();
46858 }
46859 setState(6543);
46860 match(CERTIFICATE);
46861 setState(6544);
46862 identifier();
46863 }
46864 break;
46865 case 3:
46866 {
46867 setState(6545);
46868 _la = _input.LA(1);
46869 if ( !(_la==FROM || _la==FOR) ) {
46870 _errHandler.recoverInline(this);
46871 }
46872 else {
46873 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46874 _errHandler.reportMatch(this);
46875 consume();
46876 }
46877 setState(6546);
46878 match(ASYMMETRIC);
46879 setState(6547);
46880 match(KEY);
46881 setState(6548);
46882 identifier();
46883 }
46884 break;
46885 }
46886 }
46887 }
46888 catch (RecognitionException re) {
46889 _localctx.exception = re;
46890 _errHandler.reportError(this, re);
46891 _errHandler.recover(this, re);
46892 }
46893 finally {
46894 exitRule();
46895 }
46896 return _localctx;
46897 }
46898
46899 public static class OptionsListContext extends ParserRuleContext {
46900 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
46901 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
46902 public SchemaNameContext schemaName() {
46903 return getRuleContext(SchemaNameContext.class,0);
46904 }
46905 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
46906 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
46907 public IdentifierContext identifier() {
46908 return getRuleContext(IdentifierContext.class,0);
46909 }
46910 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
46911 public SidContext sid() {
46912 return getRuleContext(SidContext.class,0);
46913 }
46914 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
46915 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
46916 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
46917 public OptionsListContext(ParserRuleContext parent, int invokingState) {
46918 super(parent, invokingState);
46919 }
46920 @Override public int getRuleIndex() { return RULE_optionsList; }
46921 @Override
46922 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46923 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionsList(this);
46924 else return visitor.visitChildren(this);
46925 }
46926 }
46927
46928 public final OptionsListContext optionsList() throws RecognitionException {
46929 OptionsListContext _localctx = new OptionsListContext(_ctx, getState());
46930 enterRule(_localctx, 892, RULE_optionsList);
46931 int _la;
46932 try {
46933 setState(6568);
46934 _errHandler.sync(this);
46935 switch (_input.LA(1)) {
46936 case DEFAULT_SCHEMA:
46937 enterOuterAlt(_localctx, 1);
46938 {
46939 setState(6551);
46940 match(DEFAULT_SCHEMA);
46941 setState(6552);
46942 match(EQ_);
46943 setState(6553);
46944 schemaName();
46945 }
46946 break;
46947 case DEFAULT_LANGUAGE:
46948 enterOuterAlt(_localctx, 2);
46949 {
46950 setState(6554);
46951 match(DEFAULT_LANGUAGE);
46952 setState(6555);
46953 match(EQ_);
46954 setState(6558);
46955 _errHandler.sync(this);
46956 switch (_input.LA(1)) {
46957 case NONE:
46958 {
46959 setState(6556);
46960 match(NONE);
46961 }
46962 break;
46963 case TRUNCATE:
46964 case SCHEMA:
46965 case COLUMNS:
46966 case PRECISION:
46967 case FUNCTION:
46968 case TRIGGER:
46969 case CAST:
46970 case SUBSTRING:
46971 case OFF:
46972 case GROUP:
46973 case LIMIT:
46974 case OFFSET:
46975 case SAVEPOINT:
46976 case BOOLEAN:
46977 case ARRAY:
46978 case DATE:
46979 case LOCALTIME:
46980 case LOCALTIMESTAMP:
46981 case QUARTER:
46982 case WEEK:
46983 case DAY:
46984 case SECOND:
46985 case MICROSECOND:
46986 case MAX:
46987 case MIN:
46988 case SUM:
46989 case COUNT:
46990 case AVG:
46991 case ENABLE:
46992 case DISABLE:
46993 case INSTANCE:
46994 case DO:
46995 case DEFINER:
46996 case SQL:
46997 case CASCADED:
46998 case LOCAL:
46999 case NEXT:
47000 case NAME:
47001 case INTEGER:
47002 case TYPE:
47003 case TEXT:
47004 case VIEWS:
47005 case READ_ONLY:
47006 case DATABASE:
47007 case RETURNS:
47008 case DATEPART:
47009 case PASSWORD:
47010 case BINARY:
47011 case HIDDEN_:
47012 case MOD:
47013 case PARTITION:
47014 case PARTITIONS:
47015 case TOP:
47016 case ROW:
47017 case ROWS:
47018 case XOR:
47019 case ALWAYS:
47020 case ROLE:
47021 case START:
47022 case ALGORITHM:
47023 case AUTO:
47024 case BLOCKERS:
47025 case CLUSTERED:
47026 case NONCLUSTERED:
47027 case COLUMNSTORE:
47028 case CONTENT:
47029 case YEARS:
47030 case MONTHS:
47031 case WEEKS:
47032 case DAYS:
47033 case MINUTES:
47034 case DENY:
47035 case DETERMINISTIC:
47036 case DISTRIBUTION:
47037 case DOCUMENT:
47038 case DURABILITY:
47039 case ENCRYPTED:
47040 case FILESTREAM:
47041 case FILETABLE:
47042 case FILLFACTOR:
47043 case FOLLOWING:
47044 case HASH:
47045 case HEAP:
47046 case INBOUND:
47047 case OUTBOUND:
47048 case UNBOUNDED:
47049 case INFINITE:
47050 case LOGIN:
47051 case MASKED:
47052 case MAXDOP:
47053 case MOVE:
47054 case NOCHECK:
47055 case OBJECT:
47056 case ONLINE:
47057 case OVER:
47058 case PAGE:
47059 case PAUSED:
47060 case PERIOD:
47061 case PERSISTED:
47062 case PRECEDING:
47063 case RANDOMIZED:
47064 case RANGE:
47065 case REBUILD:
47066 case REPLICATE:
47067 case REPLICATION:
47068 case RESUMABLE:
47069 case ROWGUIDCOL:
47070 case SAVE:
47071 case SELF:
47072 case SPARSE:
47073 case SWITCH:
47074 case TRAN:
47075 case TRANCOUNT:
47076 case CONTROL:
47077 case CONCAT:
47078 case TAKE:
47079 case OWNERSHIP:
47080 case DEFINITION:
47081 case APPLICATION:
47082 case ASSEMBLY:
47083 case SYMMETRIC:
47084 case ASYMMETRIC:
47085 case SERVER:
47086 case RECEIVE:
47087 case CHANGE:
47088 case TRACE:
47089 case TRACKING:
47090 case RESOURCES:
47091 case SETTINGS:
47092 case STATE:
47093 case AVAILABILITY:
47094 case CREDENTIAL:
47095 case ENDPOINT:
47096 case EVENT:
47097 case NOTIFICATION:
47098 case LINKED:
47099 case AUDIT:
47100 case DDL:
47101 case XML:
47102 case IMPERSONATE:
47103 case SECURABLES:
47104 case AUTHENTICATE:
47105 case EXTERNAL:
47106 case ACCESS:
47107 case ADMINISTER:
47108 case BULK:
47109 case OPERATIONS:
47110 case UNSAFE:
47111 case SHUTDOWN:
47112 case SCOPED:
47113 case CONFIGURATION:
47114 case DATASPACE:
47115 case SERVICE:
47116 case CERTIFICATE:
47117 case CONTRACT:
47118 case ENCRYPTION:
47119 case MASTER:
47120 case DATA:
47121 case SOURCE:
47122 case FILE:
47123 case FORMAT:
47124 case LIBRARY:
47125 case FULLTEXT:
47126 case MASK:
47127 case UNMASK:
47128 case MESSAGE:
47129 case REMOTE:
47130 case BINDING:
47131 case ROUTE:
47132 case SECURITY:
47133 case POLICY:
47134 case AGGREGATE:
47135 case QUEUE:
47136 case RULE:
47137 case SYNONYM:
47138 case COLLECTION:
47139 case SCRIPT:
47140 case KILL:
47141 case BACKUP:
47142 case LOG:
47143 case SHOWPLAN:
47144 case SUBSCRIBE:
47145 case QUERY:
47146 case NOTIFICATIONS:
47147 case CHECKPOINT:
47148 case SEQUENCE:
47149 case ABORT_AFTER_WAIT:
47150 case ALLOW_PAGE_LOCKS:
47151 case ALLOW_ROW_LOCKS:
47152 case ALL_SPARSE_COLUMNS:
47153 case BUCKET_COUNT:
47154 case COLUMNSTORE_ARCHIVE:
47155 case COLUMN_ENCRYPTION_KEY:
47156 case COLUMN_SET:
47157 case COMPRESSION_DELAY:
47158 case DATABASE_DEAULT:
47159 case DATA_COMPRESSION:
47160 case DATA_CONSISTENCY_CHECK:
47161 case ENCRYPTION_TYPE:
47162 case SYSTEM_TIME:
47163 case SYSTEM_VERSIONING:
47164 case TEXTIMAGE_ON:
47165 case WAIT_AT_LOW_PRIORITY:
47166 case STATISTICS_INCREMENTAL:
47167 case STATISTICS_NORECOMPUTE:
47168 case ROUND_ROBIN:
47169 case SCHEMA_AND_DATA:
47170 case SCHEMA_ONLY:
47171 case SORT_IN_TEMPDB:
47172 case IGNORE_DUP_KEY:
47173 case IMPLICIT_TRANSACTIONS:
47174 case MAX_DURATION:
47175 case MEMORY_OPTIMIZED:
47176 case MIGRATION_STATE:
47177 case PAD_INDEX:
47178 case REMOTE_DATA_ARCHIVE:
47179 case FILESTREAM_ON:
47180 case FILETABLE_COLLATE_FILENAME:
47181 case FILETABLE_DIRECTORY:
47182 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
47183 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
47184 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
47185 case FILTER_PREDICATE:
47186 case HISTORY_RETENTION_PERIOD:
47187 case HISTORY_TABLE:
47188 case LOCK_ESCALATION:
47189 case DROP_EXISTING:
47190 case ROW_NUMBER:
47191 case FIRST:
47192 case DATETIME2:
47193 case OUTPUT:
47194 case INSERTED:
47195 case DELETED:
47196 case FILENAME:
47197 case MAXSIZE:
47198 case FILEGROWTH:
47199 case UNLIMITED:
47200 case KB:
47201 case MB:
47202 case GB:
47203 case TB:
47204 case MEMORY_OPTIMIZED_DATA:
47205 case FILEGROUP:
47206 case NON_TRANSACTED_ACCESS:
47207 case DB_CHAINING:
47208 case TRUSTWORTHY:
47209 case FORWARD_ONLY:
47210 case KEYSET:
47211 case FAST_FORWARD:
47212 case SCROLL_LOCKS:
47213 case OPTIMISTIC:
47214 case TYPE_WARNING:
47215 case SCHEMABINDING:
47216 case CALLER:
47217 case OWNER:
47218 case SNAPSHOT:
47219 case REPEATABLE:
47220 case SERIALIZABLE:
47221 case NATIVE_COMPILATION:
47222 case VIEW_METADATA:
47223 case INSTEAD:
47224 case APPEND:
47225 case INCREMENT:
47226 case CACHE:
47227 case MINVALUE:
47228 case MAXVALUE:
47229 case RESTART:
47230 case LOB_COMPACTION:
47231 case COMPRESS_ALL_ROW_GROUPS:
47232 case REORGANIZE:
47233 case RESUME:
47234 case PAUSE:
47235 case ABORT:
47236 case ACCELERATED_DATABASE_RECOVERY:
47237 case PERSISTENT_VERSION_STORE_FILEGROUP:
47238 case IMMEDIATE:
47239 case NO_WAIT:
47240 case TARGET_RECOVERY_TIME:
47241 case SECONDS:
47242 case HONOR_BROKER_PRIORITY:
47243 case ERROR_BROKER_CONVERSATIONS:
47244 case NEW_BROKER:
47245 case DISABLE_BROKER:
47246 case ENABLE_BROKER:
47247 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
47248 case READ_COMMITTED_SNAPSHOT:
47249 case ALLOW_SNAPSHOT_ISOLATION:
47250 case RECURSIVE_TRIGGERS:
47251 case QUOTED_IDENTIFIER:
47252 case NUMERIC_ROUNDABORT:
47253 case CONCAT_NULL_YIELDS_NULL:
47254 case COMPATIBILITY_LEVEL:
47255 case ARITHABORT:
47256 case ANSI_WARNINGS:
47257 case ANSI_PADDING:
47258 case ANSI_NULLS:
47259 case ANSI_NULL_DEFAULT:
47260 case PAGE_VERIFY:
47261 case CHECKSUM:
47262 case TORN_PAGE_DETECTION:
47263 case BULK_LOGGED:
47264 case RECOVERY:
47265 case TOTAL_EXECUTION_CPU_TIME_MS:
47266 case TOTAL_COMPILE_CPU_TIME_MS:
47267 case STALE_CAPTURE_POLICY_THRESHOLD:
47268 case EXECUTION_COUNT:
47269 case QUERY_CAPTURE_POLICY:
47270 case WAIT_STATS_CAPTURE_MODE:
47271 case MAX_PLANS_PER_QUERY:
47272 case QUERY_CAPTURE_MODE:
47273 case SIZE_BASED_CLEANUP_MODE:
47274 case INTERVAL_LENGTH_MINUTES:
47275 case MAX_STORAGE_SIZE_MB:
47276 case DATA_FLUSH_INTERVAL_SECONDS:
47277 case CLEANUP_POLICY:
47278 case CUSTOM:
47279 case STALE_QUERY_THRESHOLD_DAYS:
47280 case OPERATION_MODE:
47281 case QUERY_STORE:
47282 case CURSOR_DEFAULT:
47283 case GLOBAL:
47284 case CURSOR_CLOSE_ON_COMMIT:
47285 case HOURS:
47286 case CHANGE_RETENTION:
47287 case AUTO_CLEANUP:
47288 case CHANGE_TRACKING:
47289 case AUTOMATIC_TUNING:
47290 case FORCE_LAST_GOOD_PLAN:
47291 case AUTO_UPDATE_STATISTICS_ASYNC:
47292 case AUTO_UPDATE_STATISTICS:
47293 case AUTO_SHRINK:
47294 case AUTO_CREATE_STATISTICS:
47295 case INCREMENTAL:
47296 case AUTO_CLOSE:
47297 case DATA_RETENTION:
47298 case TEMPORAL_HISTORY_RETENTION:
47299 case EDITION:
47300 case MIXED_PAGE_ALLOCATION:
47301 case DISABLED:
47302 case ALLOWED:
47303 case HADR:
47304 case MULTI_USER:
47305 case RESTRICTED_USER:
47306 case SINGLE_USER:
47307 case OFFLINE:
47308 case EMERGENCY:
47309 case SUSPEND:
47310 case DATE_CORRELATION_OPTIMIZATION:
47311 case ELASTIC_POOL:
47312 case SERVICE_OBJECTIVE:
47313 case DATABASE_NAME:
47314 case ALLOW_CONNECTIONS:
47315 case GEO:
47316 case NAMED:
47317 case DATEFIRST:
47318 case BACKUP_STORAGE_REDUNDANCY:
47319 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
47320 case SECONDARY:
47321 case FAILOVER:
47322 case DEFAULT_FULLTEXT_LANGUAGE:
47323 case DEFAULT_LANGUAGE:
47324 case INLINE:
47325 case NESTED_TRIGGERS:
47326 case TRANSFORM_NOISE_WORDS:
47327 case TWO_DIGIT_YEAR_CUTOFF:
47328 case PERSISTENT_LOG_BUFFER:
47329 case DIRECTORY_NAME:
47330 case DATEFORMAT:
47331 case DELAYED_DURABILITY:
47332 case AUTHORIZATION:
47333 case TRANSFER:
47334 case PROVIDER:
47335 case SEARCH:
47336 case MEMBER:
47337 case IDENTIFIER_:
47338 case DELIMITED_IDENTIFIER_:
47339 {
47340 setState(6557);
47341 identifier();
47342 }
47343 break;
47344 default:
47345 throw new NoViableAltException(this);
47346 }
47347 }
47348 break;
47349 case SID:
47350 enterOuterAlt(_localctx, 3);
47351 {
47352 setState(6560);
47353 match(SID);
47354 setState(6561);
47355 match(EQ_);
47356 setState(6562);
47357 sid();
47358 }
47359 break;
47360 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
47361 enterOuterAlt(_localctx, 4);
47362 {
47363 setState(6563);
47364 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
47365 setState(6564);
47366 match(EQ_);
47367 setState(6566);
47368 _errHandler.sync(this);
47369 _la = _input.LA(1);
47370 if (_la==ON || _la==OFF) {
47371 {
47372 setState(6565);
47373 _la = _input.LA(1);
47374 if ( !(_la==ON || _la==OFF) ) {
47375 _errHandler.recoverInline(this);
47376 }
47377 else {
47378 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47379 _errHandler.reportMatch(this);
47380 consume();
47381 }
47382 }
47383 }
47384
47385 }
47386 break;
47387 default:
47388 throw new NoViableAltException(this);
47389 }
47390 }
47391 catch (RecognitionException re) {
47392 _localctx.exception = re;
47393 _errHandler.reportError(this, re);
47394 _errHandler.recover(this, re);
47395 }
47396 finally {
47397 exitRule();
47398 }
47399 return _localctx;
47400 }
47401
47402 public static class LimitedOptionsListContext extends ParserRuleContext {
47403 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
47404 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
47405 public SchemaNameContext schemaName() {
47406 return getRuleContext(SchemaNameContext.class,0);
47407 }
47408 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
47409 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
47410 public IdentifierContext identifier() {
47411 return getRuleContext(IdentifierContext.class,0);
47412 }
47413 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
47414 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
47415 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
47416 public LimitedOptionsListContext(ParserRuleContext parent, int invokingState) {
47417 super(parent, invokingState);
47418 }
47419 @Override public int getRuleIndex() { return RULE_limitedOptionsList; }
47420 @Override
47421 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47422 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLimitedOptionsList(this);
47423 else return visitor.visitChildren(this);
47424 }
47425 }
47426
47427 public final LimitedOptionsListContext limitedOptionsList() throws RecognitionException {
47428 LimitedOptionsListContext _localctx = new LimitedOptionsListContext(_ctx, getState());
47429 enterRule(_localctx, 894, RULE_limitedOptionsList);
47430 int _la;
47431 try {
47432 setState(6584);
47433 _errHandler.sync(this);
47434 switch (_input.LA(1)) {
47435 case DEFAULT_SCHEMA:
47436 enterOuterAlt(_localctx, 1);
47437 {
47438 setState(6570);
47439 match(DEFAULT_SCHEMA);
47440 setState(6571);
47441 match(EQ_);
47442 setState(6572);
47443 schemaName();
47444 }
47445 break;
47446 case DEFAULT_LANGUAGE:
47447 enterOuterAlt(_localctx, 2);
47448 {
47449 setState(6573);
47450 match(DEFAULT_LANGUAGE);
47451 setState(6574);
47452 match(EQ_);
47453 setState(6577);
47454 _errHandler.sync(this);
47455 switch (_input.LA(1)) {
47456 case NONE:
47457 {
47458 setState(6575);
47459 match(NONE);
47460 }
47461 break;
47462 case TRUNCATE:
47463 case SCHEMA:
47464 case COLUMNS:
47465 case PRECISION:
47466 case FUNCTION:
47467 case TRIGGER:
47468 case CAST:
47469 case SUBSTRING:
47470 case OFF:
47471 case GROUP:
47472 case LIMIT:
47473 case OFFSET:
47474 case SAVEPOINT:
47475 case BOOLEAN:
47476 case ARRAY:
47477 case DATE:
47478 case LOCALTIME:
47479 case LOCALTIMESTAMP:
47480 case QUARTER:
47481 case WEEK:
47482 case DAY:
47483 case SECOND:
47484 case MICROSECOND:
47485 case MAX:
47486 case MIN:
47487 case SUM:
47488 case COUNT:
47489 case AVG:
47490 case ENABLE:
47491 case DISABLE:
47492 case INSTANCE:
47493 case DO:
47494 case DEFINER:
47495 case SQL:
47496 case CASCADED:
47497 case LOCAL:
47498 case NEXT:
47499 case NAME:
47500 case INTEGER:
47501 case TYPE:
47502 case TEXT:
47503 case VIEWS:
47504 case READ_ONLY:
47505 case DATABASE:
47506 case RETURNS:
47507 case DATEPART:
47508 case PASSWORD:
47509 case BINARY:
47510 case HIDDEN_:
47511 case MOD:
47512 case PARTITION:
47513 case PARTITIONS:
47514 case TOP:
47515 case ROW:
47516 case ROWS:
47517 case XOR:
47518 case ALWAYS:
47519 case ROLE:
47520 case START:
47521 case ALGORITHM:
47522 case AUTO:
47523 case BLOCKERS:
47524 case CLUSTERED:
47525 case NONCLUSTERED:
47526 case COLUMNSTORE:
47527 case CONTENT:
47528 case YEARS:
47529 case MONTHS:
47530 case WEEKS:
47531 case DAYS:
47532 case MINUTES:
47533 case DENY:
47534 case DETERMINISTIC:
47535 case DISTRIBUTION:
47536 case DOCUMENT:
47537 case DURABILITY:
47538 case ENCRYPTED:
47539 case FILESTREAM:
47540 case FILETABLE:
47541 case FILLFACTOR:
47542 case FOLLOWING:
47543 case HASH:
47544 case HEAP:
47545 case INBOUND:
47546 case OUTBOUND:
47547 case UNBOUNDED:
47548 case INFINITE:
47549 case LOGIN:
47550 case MASKED:
47551 case MAXDOP:
47552 case MOVE:
47553 case NOCHECK:
47554 case OBJECT:
47555 case ONLINE:
47556 case OVER:
47557 case PAGE:
47558 case PAUSED:
47559 case PERIOD:
47560 case PERSISTED:
47561 case PRECEDING:
47562 case RANDOMIZED:
47563 case RANGE:
47564 case REBUILD:
47565 case REPLICATE:
47566 case REPLICATION:
47567 case RESUMABLE:
47568 case ROWGUIDCOL:
47569 case SAVE:
47570 case SELF:
47571 case SPARSE:
47572 case SWITCH:
47573 case TRAN:
47574 case TRANCOUNT:
47575 case CONTROL:
47576 case CONCAT:
47577 case TAKE:
47578 case OWNERSHIP:
47579 case DEFINITION:
47580 case APPLICATION:
47581 case ASSEMBLY:
47582 case SYMMETRIC:
47583 case ASYMMETRIC:
47584 case SERVER:
47585 case RECEIVE:
47586 case CHANGE:
47587 case TRACE:
47588 case TRACKING:
47589 case RESOURCES:
47590 case SETTINGS:
47591 case STATE:
47592 case AVAILABILITY:
47593 case CREDENTIAL:
47594 case ENDPOINT:
47595 case EVENT:
47596 case NOTIFICATION:
47597 case LINKED:
47598 case AUDIT:
47599 case DDL:
47600 case XML:
47601 case IMPERSONATE:
47602 case SECURABLES:
47603 case AUTHENTICATE:
47604 case EXTERNAL:
47605 case ACCESS:
47606 case ADMINISTER:
47607 case BULK:
47608 case OPERATIONS:
47609 case UNSAFE:
47610 case SHUTDOWN:
47611 case SCOPED:
47612 case CONFIGURATION:
47613 case DATASPACE:
47614 case SERVICE:
47615 case CERTIFICATE:
47616 case CONTRACT:
47617 case ENCRYPTION:
47618 case MASTER:
47619 case DATA:
47620 case SOURCE:
47621 case FILE:
47622 case FORMAT:
47623 case LIBRARY:
47624 case FULLTEXT:
47625 case MASK:
47626 case UNMASK:
47627 case MESSAGE:
47628 case REMOTE:
47629 case BINDING:
47630 case ROUTE:
47631 case SECURITY:
47632 case POLICY:
47633 case AGGREGATE:
47634 case QUEUE:
47635 case RULE:
47636 case SYNONYM:
47637 case COLLECTION:
47638 case SCRIPT:
47639 case KILL:
47640 case BACKUP:
47641 case LOG:
47642 case SHOWPLAN:
47643 case SUBSCRIBE:
47644 case QUERY:
47645 case NOTIFICATIONS:
47646 case CHECKPOINT:
47647 case SEQUENCE:
47648 case ABORT_AFTER_WAIT:
47649 case ALLOW_PAGE_LOCKS:
47650 case ALLOW_ROW_LOCKS:
47651 case ALL_SPARSE_COLUMNS:
47652 case BUCKET_COUNT:
47653 case COLUMNSTORE_ARCHIVE:
47654 case COLUMN_ENCRYPTION_KEY:
47655 case COLUMN_SET:
47656 case COMPRESSION_DELAY:
47657 case DATABASE_DEAULT:
47658 case DATA_COMPRESSION:
47659 case DATA_CONSISTENCY_CHECK:
47660 case ENCRYPTION_TYPE:
47661 case SYSTEM_TIME:
47662 case SYSTEM_VERSIONING:
47663 case TEXTIMAGE_ON:
47664 case WAIT_AT_LOW_PRIORITY:
47665 case STATISTICS_INCREMENTAL:
47666 case STATISTICS_NORECOMPUTE:
47667 case ROUND_ROBIN:
47668 case SCHEMA_AND_DATA:
47669 case SCHEMA_ONLY:
47670 case SORT_IN_TEMPDB:
47671 case IGNORE_DUP_KEY:
47672 case IMPLICIT_TRANSACTIONS:
47673 case MAX_DURATION:
47674 case MEMORY_OPTIMIZED:
47675 case MIGRATION_STATE:
47676 case PAD_INDEX:
47677 case REMOTE_DATA_ARCHIVE:
47678 case FILESTREAM_ON:
47679 case FILETABLE_COLLATE_FILENAME:
47680 case FILETABLE_DIRECTORY:
47681 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
47682 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
47683 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
47684 case FILTER_PREDICATE:
47685 case HISTORY_RETENTION_PERIOD:
47686 case HISTORY_TABLE:
47687 case LOCK_ESCALATION:
47688 case DROP_EXISTING:
47689 case ROW_NUMBER:
47690 case FIRST:
47691 case DATETIME2:
47692 case OUTPUT:
47693 case INSERTED:
47694 case DELETED:
47695 case FILENAME:
47696 case MAXSIZE:
47697 case FILEGROWTH:
47698 case UNLIMITED:
47699 case KB:
47700 case MB:
47701 case GB:
47702 case TB:
47703 case MEMORY_OPTIMIZED_DATA:
47704 case FILEGROUP:
47705 case NON_TRANSACTED_ACCESS:
47706 case DB_CHAINING:
47707 case TRUSTWORTHY:
47708 case FORWARD_ONLY:
47709 case KEYSET:
47710 case FAST_FORWARD:
47711 case SCROLL_LOCKS:
47712 case OPTIMISTIC:
47713 case TYPE_WARNING:
47714 case SCHEMABINDING:
47715 case CALLER:
47716 case OWNER:
47717 case SNAPSHOT:
47718 case REPEATABLE:
47719 case SERIALIZABLE:
47720 case NATIVE_COMPILATION:
47721 case VIEW_METADATA:
47722 case INSTEAD:
47723 case APPEND:
47724 case INCREMENT:
47725 case CACHE:
47726 case MINVALUE:
47727 case MAXVALUE:
47728 case RESTART:
47729 case LOB_COMPACTION:
47730 case COMPRESS_ALL_ROW_GROUPS:
47731 case REORGANIZE:
47732 case RESUME:
47733 case PAUSE:
47734 case ABORT:
47735 case ACCELERATED_DATABASE_RECOVERY:
47736 case PERSISTENT_VERSION_STORE_FILEGROUP:
47737 case IMMEDIATE:
47738 case NO_WAIT:
47739 case TARGET_RECOVERY_TIME:
47740 case SECONDS:
47741 case HONOR_BROKER_PRIORITY:
47742 case ERROR_BROKER_CONVERSATIONS:
47743 case NEW_BROKER:
47744 case DISABLE_BROKER:
47745 case ENABLE_BROKER:
47746 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
47747 case READ_COMMITTED_SNAPSHOT:
47748 case ALLOW_SNAPSHOT_ISOLATION:
47749 case RECURSIVE_TRIGGERS:
47750 case QUOTED_IDENTIFIER:
47751 case NUMERIC_ROUNDABORT:
47752 case CONCAT_NULL_YIELDS_NULL:
47753 case COMPATIBILITY_LEVEL:
47754 case ARITHABORT:
47755 case ANSI_WARNINGS:
47756 case ANSI_PADDING:
47757 case ANSI_NULLS:
47758 case ANSI_NULL_DEFAULT:
47759 case PAGE_VERIFY:
47760 case CHECKSUM:
47761 case TORN_PAGE_DETECTION:
47762 case BULK_LOGGED:
47763 case RECOVERY:
47764 case TOTAL_EXECUTION_CPU_TIME_MS:
47765 case TOTAL_COMPILE_CPU_TIME_MS:
47766 case STALE_CAPTURE_POLICY_THRESHOLD:
47767 case EXECUTION_COUNT:
47768 case QUERY_CAPTURE_POLICY:
47769 case WAIT_STATS_CAPTURE_MODE:
47770 case MAX_PLANS_PER_QUERY:
47771 case QUERY_CAPTURE_MODE:
47772 case SIZE_BASED_CLEANUP_MODE:
47773 case INTERVAL_LENGTH_MINUTES:
47774 case MAX_STORAGE_SIZE_MB:
47775 case DATA_FLUSH_INTERVAL_SECONDS:
47776 case CLEANUP_POLICY:
47777 case CUSTOM:
47778 case STALE_QUERY_THRESHOLD_DAYS:
47779 case OPERATION_MODE:
47780 case QUERY_STORE:
47781 case CURSOR_DEFAULT:
47782 case GLOBAL:
47783 case CURSOR_CLOSE_ON_COMMIT:
47784 case HOURS:
47785 case CHANGE_RETENTION:
47786 case AUTO_CLEANUP:
47787 case CHANGE_TRACKING:
47788 case AUTOMATIC_TUNING:
47789 case FORCE_LAST_GOOD_PLAN:
47790 case AUTO_UPDATE_STATISTICS_ASYNC:
47791 case AUTO_UPDATE_STATISTICS:
47792 case AUTO_SHRINK:
47793 case AUTO_CREATE_STATISTICS:
47794 case INCREMENTAL:
47795 case AUTO_CLOSE:
47796 case DATA_RETENTION:
47797 case TEMPORAL_HISTORY_RETENTION:
47798 case EDITION:
47799 case MIXED_PAGE_ALLOCATION:
47800 case DISABLED:
47801 case ALLOWED:
47802 case HADR:
47803 case MULTI_USER:
47804 case RESTRICTED_USER:
47805 case SINGLE_USER:
47806 case OFFLINE:
47807 case EMERGENCY:
47808 case SUSPEND:
47809 case DATE_CORRELATION_OPTIMIZATION:
47810 case ELASTIC_POOL:
47811 case SERVICE_OBJECTIVE:
47812 case DATABASE_NAME:
47813 case ALLOW_CONNECTIONS:
47814 case GEO:
47815 case NAMED:
47816 case DATEFIRST:
47817 case BACKUP_STORAGE_REDUNDANCY:
47818 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
47819 case SECONDARY:
47820 case FAILOVER:
47821 case DEFAULT_FULLTEXT_LANGUAGE:
47822 case DEFAULT_LANGUAGE:
47823 case INLINE:
47824 case NESTED_TRIGGERS:
47825 case TRANSFORM_NOISE_WORDS:
47826 case TWO_DIGIT_YEAR_CUTOFF:
47827 case PERSISTENT_LOG_BUFFER:
47828 case DIRECTORY_NAME:
47829 case DATEFORMAT:
47830 case DELAYED_DURABILITY:
47831 case AUTHORIZATION:
47832 case TRANSFER:
47833 case PROVIDER:
47834 case SEARCH:
47835 case MEMBER:
47836 case IDENTIFIER_:
47837 case DELIMITED_IDENTIFIER_:
47838 {
47839 setState(6576);
47840 identifier();
47841 }
47842 break;
47843 default:
47844 throw new NoViableAltException(this);
47845 }
47846 }
47847 break;
47848 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
47849 enterOuterAlt(_localctx, 3);
47850 {
47851 setState(6579);
47852 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
47853 setState(6580);
47854 match(EQ_);
47855 setState(6582);
47856 _errHandler.sync(this);
47857 _la = _input.LA(1);
47858 if (_la==ON || _la==OFF) {
47859 {
47860 setState(6581);
47861 _la = _input.LA(1);
47862 if ( !(_la==ON || _la==OFF) ) {
47863 _errHandler.recoverInline(this);
47864 }
47865 else {
47866 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47867 _errHandler.reportMatch(this);
47868 consume();
47869 }
47870 }
47871 }
47872
47873 }
47874 break;
47875 default:
47876 throw new NoViableAltException(this);
47877 }
47878 }
47879 catch (RecognitionException re) {
47880 _localctx.exception = re;
47881 _errHandler.reportError(this, re);
47882 _errHandler.recover(this, re);
47883 }
47884 finally {
47885 exitRule();
47886 }
47887 return _localctx;
47888 }
47889
47890 public static class CreateUserFromExternalProviderClauseContext extends ParserRuleContext {
47891 public UserNameContext userName() {
47892 return getRuleContext(UserNameContext.class,0);
47893 }
47894 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
47895 public IdentifierContext identifier() {
47896 return getRuleContext(IdentifierContext.class,0);
47897 }
47898 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
47899 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
47900 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
47901 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
47902 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
47903 public List<LimitedOptionsListContext> limitedOptionsList() {
47904 return getRuleContexts(LimitedOptionsListContext.class);
47905 }
47906 public LimitedOptionsListContext limitedOptionsList(int i) {
47907 return getRuleContext(LimitedOptionsListContext.class,i);
47908 }
47909 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
47910 public TerminalNode COMMA_(int i) {
47911 return getToken(SQLServerStatementParser.COMMA_, i);
47912 }
47913 public CreateUserFromExternalProviderClauseContext(ParserRuleContext parent, int invokingState) {
47914 super(parent, invokingState);
47915 }
47916 @Override public int getRuleIndex() { return RULE_createUserFromExternalProviderClause; }
47917 @Override
47918 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47919 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserFromExternalProviderClause(this);
47920 else return visitor.visitChildren(this);
47921 }
47922 }
47923
47924 public final CreateUserFromExternalProviderClauseContext createUserFromExternalProviderClause() throws RecognitionException {
47925 CreateUserFromExternalProviderClauseContext _localctx = new CreateUserFromExternalProviderClauseContext(_ctx, getState());
47926 enterRule(_localctx, 896, RULE_createUserFromExternalProviderClause);
47927 int _la;
47928 try {
47929 setState(6606);
47930 _errHandler.sync(this);
47931 switch (_input.LA(1)) {
47932 case TRUNCATE:
47933 case SCHEMA:
47934 case COLUMNS:
47935 case PRECISION:
47936 case FUNCTION:
47937 case TRIGGER:
47938 case CAST:
47939 case SUBSTRING:
47940 case OFF:
47941 case GROUP:
47942 case LIMIT:
47943 case OFFSET:
47944 case SAVEPOINT:
47945 case BOOLEAN:
47946 case ARRAY:
47947 case DATE:
47948 case LOCALTIME:
47949 case LOCALTIMESTAMP:
47950 case QUARTER:
47951 case WEEK:
47952 case DAY:
47953 case SECOND:
47954 case MICROSECOND:
47955 case MAX:
47956 case MIN:
47957 case SUM:
47958 case COUNT:
47959 case AVG:
47960 case ENABLE:
47961 case DISABLE:
47962 case INSTANCE:
47963 case DO:
47964 case DEFINER:
47965 case SQL:
47966 case CASCADED:
47967 case LOCAL:
47968 case NEXT:
47969 case NAME:
47970 case INTEGER:
47971 case TYPE:
47972 case TEXT:
47973 case VIEWS:
47974 case READ_ONLY:
47975 case DATABASE:
47976 case RETURNS:
47977 case DATEPART:
47978 case PASSWORD:
47979 case BINARY:
47980 case HIDDEN_:
47981 case MOD:
47982 case PARTITION:
47983 case PARTITIONS:
47984 case TOP:
47985 case ROW:
47986 case ROWS:
47987 case XOR:
47988 case ALWAYS:
47989 case ROLE:
47990 case START:
47991 case ALGORITHM:
47992 case AUTO:
47993 case BLOCKERS:
47994 case CLUSTERED:
47995 case NONCLUSTERED:
47996 case COLUMNSTORE:
47997 case CONTENT:
47998 case YEARS:
47999 case MONTHS:
48000 case WEEKS:
48001 case DAYS:
48002 case MINUTES:
48003 case DENY:
48004 case DETERMINISTIC:
48005 case DISTRIBUTION:
48006 case DOCUMENT:
48007 case DURABILITY:
48008 case ENCRYPTED:
48009 case FILESTREAM:
48010 case FILETABLE:
48011 case FILLFACTOR:
48012 case FOLLOWING:
48013 case HASH:
48014 case HEAP:
48015 case INBOUND:
48016 case OUTBOUND:
48017 case UNBOUNDED:
48018 case INFINITE:
48019 case LOGIN:
48020 case MASKED:
48021 case MAXDOP:
48022 case MOVE:
48023 case NOCHECK:
48024 case OBJECT:
48025 case ONLINE:
48026 case OVER:
48027 case PAGE:
48028 case PAUSED:
48029 case PERIOD:
48030 case PERSISTED:
48031 case PRECEDING:
48032 case RANDOMIZED:
48033 case RANGE:
48034 case REBUILD:
48035 case REPLICATE:
48036 case REPLICATION:
48037 case RESUMABLE:
48038 case ROWGUIDCOL:
48039 case SAVE:
48040 case SELF:
48041 case SPARSE:
48042 case SWITCH:
48043 case TRAN:
48044 case TRANCOUNT:
48045 case CONTROL:
48046 case CONCAT:
48047 case TAKE:
48048 case OWNERSHIP:
48049 case DEFINITION:
48050 case APPLICATION:
48051 case ASSEMBLY:
48052 case SYMMETRIC:
48053 case ASYMMETRIC:
48054 case SERVER:
48055 case RECEIVE:
48056 case CHANGE:
48057 case TRACE:
48058 case TRACKING:
48059 case RESOURCES:
48060 case SETTINGS:
48061 case STATE:
48062 case AVAILABILITY:
48063 case CREDENTIAL:
48064 case ENDPOINT:
48065 case EVENT:
48066 case NOTIFICATION:
48067 case LINKED:
48068 case AUDIT:
48069 case DDL:
48070 case XML:
48071 case IMPERSONATE:
48072 case SECURABLES:
48073 case AUTHENTICATE:
48074 case EXTERNAL:
48075 case ACCESS:
48076 case ADMINISTER:
48077 case BULK:
48078 case OPERATIONS:
48079 case UNSAFE:
48080 case SHUTDOWN:
48081 case SCOPED:
48082 case CONFIGURATION:
48083 case DATASPACE:
48084 case SERVICE:
48085 case CERTIFICATE:
48086 case CONTRACT:
48087 case ENCRYPTION:
48088 case MASTER:
48089 case DATA:
48090 case SOURCE:
48091 case FILE:
48092 case FORMAT:
48093 case LIBRARY:
48094 case FULLTEXT:
48095 case MASK:
48096 case UNMASK:
48097 case MESSAGE:
48098 case REMOTE:
48099 case BINDING:
48100 case ROUTE:
48101 case SECURITY:
48102 case POLICY:
48103 case AGGREGATE:
48104 case QUEUE:
48105 case RULE:
48106 case SYNONYM:
48107 case COLLECTION:
48108 case SCRIPT:
48109 case KILL:
48110 case BACKUP:
48111 case LOG:
48112 case SHOWPLAN:
48113 case SUBSCRIBE:
48114 case QUERY:
48115 case NOTIFICATIONS:
48116 case CHECKPOINT:
48117 case SEQUENCE:
48118 case ABORT_AFTER_WAIT:
48119 case ALLOW_PAGE_LOCKS:
48120 case ALLOW_ROW_LOCKS:
48121 case ALL_SPARSE_COLUMNS:
48122 case BUCKET_COUNT:
48123 case COLUMNSTORE_ARCHIVE:
48124 case COLUMN_ENCRYPTION_KEY:
48125 case COLUMN_SET:
48126 case COMPRESSION_DELAY:
48127 case DATABASE_DEAULT:
48128 case DATA_COMPRESSION:
48129 case DATA_CONSISTENCY_CHECK:
48130 case ENCRYPTION_TYPE:
48131 case SYSTEM_TIME:
48132 case SYSTEM_VERSIONING:
48133 case TEXTIMAGE_ON:
48134 case WAIT_AT_LOW_PRIORITY:
48135 case STATISTICS_INCREMENTAL:
48136 case STATISTICS_NORECOMPUTE:
48137 case ROUND_ROBIN:
48138 case SCHEMA_AND_DATA:
48139 case SCHEMA_ONLY:
48140 case SORT_IN_TEMPDB:
48141 case IGNORE_DUP_KEY:
48142 case IMPLICIT_TRANSACTIONS:
48143 case MAX_DURATION:
48144 case MEMORY_OPTIMIZED:
48145 case MIGRATION_STATE:
48146 case PAD_INDEX:
48147 case REMOTE_DATA_ARCHIVE:
48148 case FILESTREAM_ON:
48149 case FILETABLE_COLLATE_FILENAME:
48150 case FILETABLE_DIRECTORY:
48151 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
48152 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
48153 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
48154 case FILTER_PREDICATE:
48155 case HISTORY_RETENTION_PERIOD:
48156 case HISTORY_TABLE:
48157 case LOCK_ESCALATION:
48158 case DROP_EXISTING:
48159 case ROW_NUMBER:
48160 case FIRST:
48161 case DATETIME2:
48162 case OUTPUT:
48163 case INSERTED:
48164 case DELETED:
48165 case FILENAME:
48166 case MAXSIZE:
48167 case FILEGROWTH:
48168 case UNLIMITED:
48169 case KB:
48170 case MB:
48171 case GB:
48172 case TB:
48173 case MEMORY_OPTIMIZED_DATA:
48174 case FILEGROUP:
48175 case NON_TRANSACTED_ACCESS:
48176 case DB_CHAINING:
48177 case TRUSTWORTHY:
48178 case FORWARD_ONLY:
48179 case KEYSET:
48180 case FAST_FORWARD:
48181 case SCROLL_LOCKS:
48182 case OPTIMISTIC:
48183 case TYPE_WARNING:
48184 case SCHEMABINDING:
48185 case CALLER:
48186 case OWNER:
48187 case SNAPSHOT:
48188 case REPEATABLE:
48189 case SERIALIZABLE:
48190 case NATIVE_COMPILATION:
48191 case VIEW_METADATA:
48192 case INSTEAD:
48193 case APPEND:
48194 case INCREMENT:
48195 case CACHE:
48196 case MINVALUE:
48197 case MAXVALUE:
48198 case RESTART:
48199 case LOB_COMPACTION:
48200 case COMPRESS_ALL_ROW_GROUPS:
48201 case REORGANIZE:
48202 case RESUME:
48203 case PAUSE:
48204 case ABORT:
48205 case ACCELERATED_DATABASE_RECOVERY:
48206 case PERSISTENT_VERSION_STORE_FILEGROUP:
48207 case IMMEDIATE:
48208 case NO_WAIT:
48209 case TARGET_RECOVERY_TIME:
48210 case SECONDS:
48211 case HONOR_BROKER_PRIORITY:
48212 case ERROR_BROKER_CONVERSATIONS:
48213 case NEW_BROKER:
48214 case DISABLE_BROKER:
48215 case ENABLE_BROKER:
48216 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
48217 case READ_COMMITTED_SNAPSHOT:
48218 case ALLOW_SNAPSHOT_ISOLATION:
48219 case RECURSIVE_TRIGGERS:
48220 case QUOTED_IDENTIFIER:
48221 case NUMERIC_ROUNDABORT:
48222 case CONCAT_NULL_YIELDS_NULL:
48223 case COMPATIBILITY_LEVEL:
48224 case ARITHABORT:
48225 case ANSI_WARNINGS:
48226 case ANSI_PADDING:
48227 case ANSI_NULLS:
48228 case ANSI_NULL_DEFAULT:
48229 case PAGE_VERIFY:
48230 case CHECKSUM:
48231 case TORN_PAGE_DETECTION:
48232 case BULK_LOGGED:
48233 case RECOVERY:
48234 case TOTAL_EXECUTION_CPU_TIME_MS:
48235 case TOTAL_COMPILE_CPU_TIME_MS:
48236 case STALE_CAPTURE_POLICY_THRESHOLD:
48237 case EXECUTION_COUNT:
48238 case QUERY_CAPTURE_POLICY:
48239 case WAIT_STATS_CAPTURE_MODE:
48240 case MAX_PLANS_PER_QUERY:
48241 case QUERY_CAPTURE_MODE:
48242 case SIZE_BASED_CLEANUP_MODE:
48243 case INTERVAL_LENGTH_MINUTES:
48244 case MAX_STORAGE_SIZE_MB:
48245 case DATA_FLUSH_INTERVAL_SECONDS:
48246 case CLEANUP_POLICY:
48247 case CUSTOM:
48248 case STALE_QUERY_THRESHOLD_DAYS:
48249 case OPERATION_MODE:
48250 case QUERY_STORE:
48251 case CURSOR_DEFAULT:
48252 case GLOBAL:
48253 case CURSOR_CLOSE_ON_COMMIT:
48254 case HOURS:
48255 case CHANGE_RETENTION:
48256 case AUTO_CLEANUP:
48257 case CHANGE_TRACKING:
48258 case AUTOMATIC_TUNING:
48259 case FORCE_LAST_GOOD_PLAN:
48260 case AUTO_UPDATE_STATISTICS_ASYNC:
48261 case AUTO_UPDATE_STATISTICS:
48262 case AUTO_SHRINK:
48263 case AUTO_CREATE_STATISTICS:
48264 case INCREMENTAL:
48265 case AUTO_CLOSE:
48266 case DATA_RETENTION:
48267 case TEMPORAL_HISTORY_RETENTION:
48268 case EDITION:
48269 case MIXED_PAGE_ALLOCATION:
48270 case DISABLED:
48271 case ALLOWED:
48272 case HADR:
48273 case MULTI_USER:
48274 case RESTRICTED_USER:
48275 case SINGLE_USER:
48276 case OFFLINE:
48277 case EMERGENCY:
48278 case SUSPEND:
48279 case DATE_CORRELATION_OPTIMIZATION:
48280 case ELASTIC_POOL:
48281 case SERVICE_OBJECTIVE:
48282 case DATABASE_NAME:
48283 case ALLOW_CONNECTIONS:
48284 case GEO:
48285 case NAMED:
48286 case DATEFIRST:
48287 case BACKUP_STORAGE_REDUNDANCY:
48288 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
48289 case SECONDARY:
48290 case FAILOVER:
48291 case DEFAULT_FULLTEXT_LANGUAGE:
48292 case DEFAULT_LANGUAGE:
48293 case INLINE:
48294 case NESTED_TRIGGERS:
48295 case TRANSFORM_NOISE_WORDS:
48296 case TWO_DIGIT_YEAR_CUTOFF:
48297 case PERSISTENT_LOG_BUFFER:
48298 case DIRECTORY_NAME:
48299 case DATEFORMAT:
48300 case DELAYED_DURABILITY:
48301 case AUTHORIZATION:
48302 case TRANSFER:
48303 case PROVIDER:
48304 case SEARCH:
48305 case MEMBER:
48306 case IDENTIFIER_:
48307 case DELIMITED_IDENTIFIER_:
48308 enterOuterAlt(_localctx, 1);
48309 {
48310 setState(6586);
48311 userName();
48312 setState(6590);
48313 _errHandler.sync(this);
48314 _la = _input.LA(1);
48315 if (_la==FROM || _la==FOR) {
48316 {
48317 setState(6587);
48318 _la = _input.LA(1);
48319 if ( !(_la==FROM || _la==FOR) ) {
48320 _errHandler.recoverInline(this);
48321 }
48322 else {
48323 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48324 _errHandler.reportMatch(this);
48325 consume();
48326 }
48327 setState(6588);
48328 match(LOGIN);
48329 setState(6589);
48330 identifier();
48331 }
48332 }
48333
48334 }
48335 break;
48336 case FROM:
48337 enterOuterAlt(_localctx, 2);
48338 {
48339 setState(6592);
48340 match(FROM);
48341 setState(6593);
48342 match(EXTERNAL);
48343 setState(6594);
48344 match(PROVIDER);
48345 setState(6604);
48346 _errHandler.sync(this);
48347 _la = _input.LA(1);
48348 if (_la==WITH) {
48349 {
48350 setState(6595);
48351 match(WITH);
48352 setState(6596);
48353 limitedOptionsList();
48354 setState(6601);
48355 _errHandler.sync(this);
48356 _la = _input.LA(1);
48357 while (_la==COMMA_) {
48358 {
48359 {
48360 setState(6597);
48361 match(COMMA_);
48362 setState(6598);
48363 limitedOptionsList();
48364 }
48365 }
48366 setState(6603);
48367 _errHandler.sync(this);
48368 _la = _input.LA(1);
48369 }
48370 }
48371 }
48372
48373 }
48374 break;
48375 default:
48376 throw new NoViableAltException(this);
48377 }
48378 }
48379 catch (RecognitionException re) {
48380 _localctx.exception = re;
48381 _errHandler.reportError(this, re);
48382 _errHandler.recover(this, re);
48383 }
48384 finally {
48385 exitRule();
48386 }
48387 return _localctx;
48388 }
48389
48390 public static class CreateUserWithDefaultSchemaContext extends ParserRuleContext {
48391 public UserNameContext userName() {
48392 return getRuleContext(UserNameContext.class,0);
48393 }
48394 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
48395 public IdentifierContext identifier() {
48396 return getRuleContext(IdentifierContext.class,0);
48397 }
48398 public TerminalNode WITHOUT() { return getToken(SQLServerStatementParser.WITHOUT, 0); }
48399 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
48400 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
48401 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
48402 public SchemaNameContext schemaName() {
48403 return getRuleContext(SchemaNameContext.class,0);
48404 }
48405 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
48406 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
48407 public CreateUserWithDefaultSchemaContext(ParserRuleContext parent, int invokingState) {
48408 super(parent, invokingState);
48409 }
48410 @Override public int getRuleIndex() { return RULE_createUserWithDefaultSchema; }
48411 @Override
48412 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48413 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithDefaultSchema(this);
48414 else return visitor.visitChildren(this);
48415 }
48416 }
48417
48418 public final CreateUserWithDefaultSchemaContext createUserWithDefaultSchema() throws RecognitionException {
48419 CreateUserWithDefaultSchemaContext _localctx = new CreateUserWithDefaultSchemaContext(_ctx, getState());
48420 enterRule(_localctx, 898, RULE_createUserWithDefaultSchema);
48421 int _la;
48422 try {
48423 enterOuterAlt(_localctx, 1);
48424 {
48425 setState(6608);
48426 userName();
48427 setState(6614);
48428 _errHandler.sync(this);
48429 switch (_input.LA(1)) {
48430 case FROM:
48431 case FOR:
48432 {
48433 setState(6609);
48434 _la = _input.LA(1);
48435 if ( !(_la==FROM || _la==FOR) ) {
48436 _errHandler.recoverInline(this);
48437 }
48438 else {
48439 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48440 _errHandler.reportMatch(this);
48441 consume();
48442 }
48443 setState(6610);
48444 match(LOGIN);
48445 setState(6611);
48446 identifier();
48447 }
48448 break;
48449 case WITHOUT:
48450 {
48451 setState(6612);
48452 match(WITHOUT);
48453 setState(6613);
48454 match(LOGIN);
48455 }
48456 break;
48457 case EOF:
48458 case SEMI_:
48459 case WITH:
48460 break;
48461 default:
48462 break;
48463 }
48464 setState(6620);
48465 _errHandler.sync(this);
48466 _la = _input.LA(1);
48467 if (_la==WITH) {
48468 {
48469 setState(6616);
48470 match(WITH);
48471 setState(6617);
48472 match(DEFAULT_SCHEMA);
48473 setState(6618);
48474 match(EQ_);
48475 setState(6619);
48476 schemaName();
48477 }
48478 }
48479
48480 }
48481 }
48482 catch (RecognitionException re) {
48483 _localctx.exception = re;
48484 _errHandler.reportError(this, re);
48485 _errHandler.recover(this, re);
48486 }
48487 finally {
48488 exitRule();
48489 }
48490 return _localctx;
48491 }
48492
48493 public static class CreateUserWithAzureActiveDirectoryPrincipalClauseContext extends ParserRuleContext {
48494 public AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() {
48495 return getRuleContext(AzureActiveDirectoryPrincipalContext.class,0);
48496 }
48497 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
48498 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
48499 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
48500 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
48501 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
48502 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
48503 public SchemaNameContext schemaName() {
48504 return getRuleContext(SchemaNameContext.class,0);
48505 }
48506 public CreateUserWithAzureActiveDirectoryPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
48507 super(parent, invokingState);
48508 }
48509 @Override public int getRuleIndex() { return RULE_createUserWithAzureActiveDirectoryPrincipalClause; }
48510 @Override
48511 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48512 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithAzureActiveDirectoryPrincipalClause(this);
48513 else return visitor.visitChildren(this);
48514 }
48515 }
48516
48517 public final CreateUserWithAzureActiveDirectoryPrincipalClauseContext createUserWithAzureActiveDirectoryPrincipalClause() throws RecognitionException {
48518 CreateUserWithAzureActiveDirectoryPrincipalClauseContext _localctx = new CreateUserWithAzureActiveDirectoryPrincipalClauseContext(_ctx, getState());
48519 enterRule(_localctx, 900, RULE_createUserWithAzureActiveDirectoryPrincipalClause);
48520 int _la;
48521 try {
48522 enterOuterAlt(_localctx, 1);
48523 {
48524 setState(6622);
48525 azureActiveDirectoryPrincipal();
48526 setState(6623);
48527 match(FROM);
48528 setState(6624);
48529 match(EXTERNAL);
48530 setState(6625);
48531 match(PROVIDER);
48532 setState(6630);
48533 _errHandler.sync(this);
48534 _la = _input.LA(1);
48535 if (_la==WITH) {
48536 {
48537 setState(6626);
48538 match(WITH);
48539 setState(6627);
48540 match(DEFAULT_SCHEMA);
48541 setState(6628);
48542 match(EQ_);
48543 setState(6629);
48544 schemaName();
48545 }
48546 }
48547
48548 }
48549 }
48550 catch (RecognitionException re) {
48551 _localctx.exception = re;
48552 _errHandler.reportError(this, re);
48553 _errHandler.recover(this, re);
48554 }
48555 finally {
48556 exitRule();
48557 }
48558 return _localctx;
48559 }
48560
48561 public static class WindowsPrincipalContext extends ParserRuleContext {
48562 public UserNameContext userName() {
48563 return getRuleContext(UserNameContext.class,0);
48564 }
48565 public WindowsPrincipalContext(ParserRuleContext parent, int invokingState) {
48566 super(parent, invokingState);
48567 }
48568 @Override public int getRuleIndex() { return RULE_windowsPrincipal; }
48569 @Override
48570 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48571 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowsPrincipal(this);
48572 else return visitor.visitChildren(this);
48573 }
48574 }
48575
48576 public final WindowsPrincipalContext windowsPrincipal() throws RecognitionException {
48577 WindowsPrincipalContext _localctx = new WindowsPrincipalContext(_ctx, getState());
48578 enterRule(_localctx, 902, RULE_windowsPrincipal);
48579 try {
48580 enterOuterAlt(_localctx, 1);
48581 {
48582 setState(6632);
48583 userName();
48584 }
48585 }
48586 catch (RecognitionException re) {
48587 _localctx.exception = re;
48588 _errHandler.reportError(this, re);
48589 _errHandler.recover(this, re);
48590 }
48591 finally {
48592 exitRule();
48593 }
48594 return _localctx;
48595 }
48596
48597 public static class AzureActiveDirectoryPrincipalContext extends ParserRuleContext {
48598 public UserNameContext userName() {
48599 return getRuleContext(UserNameContext.class,0);
48600 }
48601 public AzureActiveDirectoryPrincipalContext(ParserRuleContext parent, int invokingState) {
48602 super(parent, invokingState);
48603 }
48604 @Override public int getRuleIndex() { return RULE_azureActiveDirectoryPrincipal; }
48605 @Override
48606 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48607 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAzureActiveDirectoryPrincipal(this);
48608 else return visitor.visitChildren(this);
48609 }
48610 }
48611
48612 public final AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() throws RecognitionException {
48613 AzureActiveDirectoryPrincipalContext _localctx = new AzureActiveDirectoryPrincipalContext(_ctx, getState());
48614 enterRule(_localctx, 904, RULE_azureActiveDirectoryPrincipal);
48615 try {
48616 enterOuterAlt(_localctx, 1);
48617 {
48618 setState(6634);
48619 userName();
48620 }
48621 }
48622 catch (RecognitionException re) {
48623 _localctx.exception = re;
48624 _errHandler.reportError(this, re);
48625 _errHandler.recover(this, re);
48626 }
48627 finally {
48628 exitRule();
48629 }
48630 return _localctx;
48631 }
48632
48633 public static class UserNameContext extends ParserRuleContext {
48634 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
48635 return getRuleContext(IgnoredNameIdentifierContext.class,0);
48636 }
48637 public UserNameContext(ParserRuleContext parent, int invokingState) {
48638 super(parent, invokingState);
48639 }
48640 @Override public int getRuleIndex() { return RULE_userName; }
48641 @Override
48642 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48643 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUserName(this);
48644 else return visitor.visitChildren(this);
48645 }
48646 }
48647
48648 public final UserNameContext userName() throws RecognitionException {
48649 UserNameContext _localctx = new UserNameContext(_ctx, getState());
48650 enterRule(_localctx, 906, RULE_userName);
48651 try {
48652 enterOuterAlt(_localctx, 1);
48653 {
48654 setState(6636);
48655 ignoredNameIdentifier();
48656 }
48657 }
48658 catch (RecognitionException re) {
48659 _localctx.exception = re;
48660 _errHandler.reportError(this, re);
48661 _errHandler.recover(this, re);
48662 }
48663 finally {
48664 exitRule();
48665 }
48666 return _localctx;
48667 }
48668
48669 public static class IgnoredNameIdentifierContext extends ParserRuleContext {
48670 public List<IdentifierContext> identifier() {
48671 return getRuleContexts(IdentifierContext.class);
48672 }
48673 public IdentifierContext identifier(int i) {
48674 return getRuleContext(IdentifierContext.class,i);
48675 }
48676 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
48677 public IgnoredNameIdentifierContext(ParserRuleContext parent, int invokingState) {
48678 super(parent, invokingState);
48679 }
48680 @Override public int getRuleIndex() { return RULE_ignoredNameIdentifier; }
48681 @Override
48682 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48683 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredNameIdentifier(this);
48684 else return visitor.visitChildren(this);
48685 }
48686 }
48687
48688 public final IgnoredNameIdentifierContext ignoredNameIdentifier() throws RecognitionException {
48689 IgnoredNameIdentifierContext _localctx = new IgnoredNameIdentifierContext(_ctx, getState());
48690 enterRule(_localctx, 908, RULE_ignoredNameIdentifier);
48691 int _la;
48692 try {
48693 enterOuterAlt(_localctx, 1);
48694 {
48695 setState(6638);
48696 identifier();
48697 setState(6641);
48698 _errHandler.sync(this);
48699 _la = _input.LA(1);
48700 if (_la==DOT_) {
48701 {
48702 setState(6639);
48703 match(DOT_);
48704 setState(6640);
48705 identifier();
48706 }
48707 }
48708
48709 }
48710 }
48711 catch (RecognitionException re) {
48712 _localctx.exception = re;
48713 _errHandler.reportError(this, re);
48714 _errHandler.recover(this, re);
48715 }
48716 finally {
48717 exitRule();
48718 }
48719 return _localctx;
48720 }
48721
48722 public static class DropUserContext extends ParserRuleContext {
48723 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
48724 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
48725 public UserNameContext userName() {
48726 return getRuleContext(UserNameContext.class,0);
48727 }
48728 public IfExistsContext ifExists() {
48729 return getRuleContext(IfExistsContext.class,0);
48730 }
48731 public DropUserContext(ParserRuleContext parent, int invokingState) {
48732 super(parent, invokingState);
48733 }
48734 @Override public int getRuleIndex() { return RULE_dropUser; }
48735 @Override
48736 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48737 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropUser(this);
48738 else return visitor.visitChildren(this);
48739 }
48740 }
48741
48742 public final DropUserContext dropUser() throws RecognitionException {
48743 DropUserContext _localctx = new DropUserContext(_ctx, getState());
48744 enterRule(_localctx, 910, RULE_dropUser);
48745 int _la;
48746 try {
48747 enterOuterAlt(_localctx, 1);
48748 {
48749 setState(6643);
48750 match(DROP);
48751 setState(6644);
48752 match(USER);
48753 setState(6646);
48754 _errHandler.sync(this);
48755 _la = _input.LA(1);
48756 if (_la==IF) {
48757 {
48758 setState(6645);
48759 ifExists();
48760 }
48761 }
48762
48763 setState(6648);
48764 userName();
48765 }
48766 }
48767 catch (RecognitionException re) {
48768 _localctx.exception = re;
48769 _errHandler.reportError(this, re);
48770 _errHandler.recover(this, re);
48771 }
48772 finally {
48773 exitRule();
48774 }
48775 return _localctx;
48776 }
48777
48778 public static class AlterUserContext extends ParserRuleContext {
48779 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
48780 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
48781 public UserNameContext userName() {
48782 return getRuleContext(UserNameContext.class,0);
48783 }
48784 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
48785 public List<SetItemContext> setItem() {
48786 return getRuleContexts(SetItemContext.class);
48787 }
48788 public SetItemContext setItem(int i) {
48789 return getRuleContext(SetItemContext.class,i);
48790 }
48791 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
48792 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
48793 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
48794 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
48795 public TerminalNode COMMA_(int i) {
48796 return getToken(SQLServerStatementParser.COMMA_, i);
48797 }
48798 public AlterUserContext(ParserRuleContext parent, int invokingState) {
48799 super(parent, invokingState);
48800 }
48801 @Override public int getRuleIndex() { return RULE_alterUser; }
48802 @Override
48803 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48804 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterUser(this);
48805 else return visitor.visitChildren(this);
48806 }
48807 }
48808
48809 public final AlterUserContext alterUser() throws RecognitionException {
48810 AlterUserContext _localctx = new AlterUserContext(_ctx, getState());
48811 enterRule(_localctx, 912, RULE_alterUser);
48812 int _la;
48813 try {
48814 enterOuterAlt(_localctx, 1);
48815 {
48816 setState(6650);
48817 match(ALTER);
48818 setState(6651);
48819 match(USER);
48820 setState(6652);
48821 userName();
48822 setState(6665);
48823 _errHandler.sync(this);
48824 switch (_input.LA(1)) {
48825 case WITH:
48826 {
48827 setState(6653);
48828 match(WITH);
48829 setState(6654);
48830 setItem();
48831 setState(6659);
48832 _errHandler.sync(this);
48833 _la = _input.LA(1);
48834 while (_la==COMMA_) {
48835 {
48836 {
48837 setState(6655);
48838 match(COMMA_);
48839 setState(6656);
48840 setItem();
48841 }
48842 }
48843 setState(6661);
48844 _errHandler.sync(this);
48845 _la = _input.LA(1);
48846 }
48847 }
48848 break;
48849 case FROM:
48850 {
48851 setState(6662);
48852 match(FROM);
48853 setState(6663);
48854 match(EXTERNAL);
48855 setState(6664);
48856 match(PROVIDER);
48857 }
48858 break;
48859 default:
48860 throw new NoViableAltException(this);
48861 }
48862 }
48863 }
48864 catch (RecognitionException re) {
48865 _localctx.exception = re;
48866 _errHandler.reportError(this, re);
48867 _errHandler.recover(this, re);
48868 }
48869 finally {
48870 exitRule();
48871 }
48872 return _localctx;
48873 }
48874
48875 public static class SetItemContext extends ParserRuleContext {
48876 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
48877 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
48878 public TerminalNode EQ_(int i) {
48879 return getToken(SQLServerStatementParser.EQ_, i);
48880 }
48881 public UserNameContext userName() {
48882 return getRuleContext(UserNameContext.class,0);
48883 }
48884 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
48885 public SchemaNameContext schemaName() {
48886 return getRuleContext(SchemaNameContext.class,0);
48887 }
48888 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
48889 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
48890 public IdentifierContext identifier() {
48891 return getRuleContext(IdentifierContext.class,0);
48892 }
48893 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
48894 public List<StringLiteralsContext> stringLiterals() {
48895 return getRuleContexts(StringLiteralsContext.class);
48896 }
48897 public StringLiteralsContext stringLiterals(int i) {
48898 return getRuleContext(StringLiteralsContext.class,i);
48899 }
48900 public TerminalNode OLD_PASSWORD() { return getToken(SQLServerStatementParser.OLD_PASSWORD, 0); }
48901 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
48902 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
48903 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
48904 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
48905 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
48906 public SetItemContext(ParserRuleContext parent, int invokingState) {
48907 super(parent, invokingState);
48908 }
48909 @Override public int getRuleIndex() { return RULE_setItem; }
48910 @Override
48911 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48912 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetItem(this);
48913 else return visitor.visitChildren(this);
48914 }
48915 }
48916
48917 public final SetItemContext setItem() throws RecognitionException {
48918 SetItemContext _localctx = new SetItemContext(_ctx, getState());
48919 enterRule(_localctx, 914, RULE_setItem);
48920 int _la;
48921 try {
48922 setState(6698);
48923 _errHandler.sync(this);
48924 switch (_input.LA(1)) {
48925 case NAME:
48926 enterOuterAlt(_localctx, 1);
48927 {
48928 setState(6667);
48929 match(NAME);
48930 setState(6668);
48931 match(EQ_);
48932 setState(6669);
48933 userName();
48934 }
48935 break;
48936 case DEFAULT_SCHEMA:
48937 enterOuterAlt(_localctx, 2);
48938 {
48939 setState(6670);
48940 match(DEFAULT_SCHEMA);
48941 setState(6671);
48942 match(EQ_);
48943 setState(6674);
48944 _errHandler.sync(this);
48945 switch (_input.LA(1)) {
48946 case TRUNCATE:
48947 case SCHEMA:
48948 case COLUMNS:
48949 case PRECISION:
48950 case FUNCTION:
48951 case TRIGGER:
48952 case CAST:
48953 case SUBSTRING:
48954 case OFF:
48955 case GROUP:
48956 case LIMIT:
48957 case OFFSET:
48958 case SAVEPOINT:
48959 case BOOLEAN:
48960 case ARRAY:
48961 case DATE:
48962 case LOCALTIME:
48963 case LOCALTIMESTAMP:
48964 case QUARTER:
48965 case WEEK:
48966 case DAY:
48967 case SECOND:
48968 case MICROSECOND:
48969 case MAX:
48970 case MIN:
48971 case SUM:
48972 case COUNT:
48973 case AVG:
48974 case ENABLE:
48975 case DISABLE:
48976 case INSTANCE:
48977 case DO:
48978 case DEFINER:
48979 case SQL:
48980 case CASCADED:
48981 case LOCAL:
48982 case NEXT:
48983 case NAME:
48984 case INTEGER:
48985 case TYPE:
48986 case TEXT:
48987 case VIEWS:
48988 case READ_ONLY:
48989 case DATABASE:
48990 case RETURNS:
48991 case DATEPART:
48992 case PASSWORD:
48993 case BINARY:
48994 case HIDDEN_:
48995 case MOD:
48996 case PARTITION:
48997 case PARTITIONS:
48998 case TOP:
48999 case ROW:
49000 case ROWS:
49001 case XOR:
49002 case ALWAYS:
49003 case ROLE:
49004 case START:
49005 case ALGORITHM:
49006 case AUTO:
49007 case BLOCKERS:
49008 case CLUSTERED:
49009 case NONCLUSTERED:
49010 case COLUMNSTORE:
49011 case CONTENT:
49012 case YEARS:
49013 case MONTHS:
49014 case WEEKS:
49015 case DAYS:
49016 case MINUTES:
49017 case DENY:
49018 case DETERMINISTIC:
49019 case DISTRIBUTION:
49020 case DOCUMENT:
49021 case DURABILITY:
49022 case ENCRYPTED:
49023 case FILESTREAM:
49024 case FILETABLE:
49025 case FILLFACTOR:
49026 case FOLLOWING:
49027 case HASH:
49028 case HEAP:
49029 case INBOUND:
49030 case OUTBOUND:
49031 case UNBOUNDED:
49032 case INFINITE:
49033 case LOGIN:
49034 case MASKED:
49035 case MAXDOP:
49036 case MOVE:
49037 case NOCHECK:
49038 case OBJECT:
49039 case ONLINE:
49040 case OVER:
49041 case PAGE:
49042 case PAUSED:
49043 case PERIOD:
49044 case PERSISTED:
49045 case PRECEDING:
49046 case RANDOMIZED:
49047 case RANGE:
49048 case REBUILD:
49049 case REPLICATE:
49050 case REPLICATION:
49051 case RESUMABLE:
49052 case ROWGUIDCOL:
49053 case SAVE:
49054 case SELF:
49055 case SPARSE:
49056 case SWITCH:
49057 case TRAN:
49058 case TRANCOUNT:
49059 case CONTROL:
49060 case CONCAT:
49061 case TAKE:
49062 case OWNERSHIP:
49063 case DEFINITION:
49064 case APPLICATION:
49065 case ASSEMBLY:
49066 case SYMMETRIC:
49067 case ASYMMETRIC:
49068 case SERVER:
49069 case RECEIVE:
49070 case CHANGE:
49071 case TRACE:
49072 case TRACKING:
49073 case RESOURCES:
49074 case SETTINGS:
49075 case STATE:
49076 case AVAILABILITY:
49077 case CREDENTIAL:
49078 case ENDPOINT:
49079 case EVENT:
49080 case NOTIFICATION:
49081 case LINKED:
49082 case AUDIT:
49083 case DDL:
49084 case XML:
49085 case IMPERSONATE:
49086 case SECURABLES:
49087 case AUTHENTICATE:
49088 case EXTERNAL:
49089 case ACCESS:
49090 case ADMINISTER:
49091 case BULK:
49092 case OPERATIONS:
49093 case UNSAFE:
49094 case SHUTDOWN:
49095 case SCOPED:
49096 case CONFIGURATION:
49097 case DATASPACE:
49098 case SERVICE:
49099 case CERTIFICATE:
49100 case CONTRACT:
49101 case ENCRYPTION:
49102 case MASTER:
49103 case DATA:
49104 case SOURCE:
49105 case FILE:
49106 case FORMAT:
49107 case LIBRARY:
49108 case FULLTEXT:
49109 case MASK:
49110 case UNMASK:
49111 case MESSAGE:
49112 case REMOTE:
49113 case BINDING:
49114 case ROUTE:
49115 case SECURITY:
49116 case POLICY:
49117 case AGGREGATE:
49118 case QUEUE:
49119 case RULE:
49120 case SYNONYM:
49121 case COLLECTION:
49122 case SCRIPT:
49123 case KILL:
49124 case BACKUP:
49125 case LOG:
49126 case SHOWPLAN:
49127 case SUBSCRIBE:
49128 case QUERY:
49129 case NOTIFICATIONS:
49130 case CHECKPOINT:
49131 case SEQUENCE:
49132 case ABORT_AFTER_WAIT:
49133 case ALLOW_PAGE_LOCKS:
49134 case ALLOW_ROW_LOCKS:
49135 case ALL_SPARSE_COLUMNS:
49136 case BUCKET_COUNT:
49137 case COLUMNSTORE_ARCHIVE:
49138 case COLUMN_ENCRYPTION_KEY:
49139 case COLUMN_SET:
49140 case COMPRESSION_DELAY:
49141 case DATABASE_DEAULT:
49142 case DATA_COMPRESSION:
49143 case DATA_CONSISTENCY_CHECK:
49144 case ENCRYPTION_TYPE:
49145 case SYSTEM_TIME:
49146 case SYSTEM_VERSIONING:
49147 case TEXTIMAGE_ON:
49148 case WAIT_AT_LOW_PRIORITY:
49149 case STATISTICS_INCREMENTAL:
49150 case STATISTICS_NORECOMPUTE:
49151 case ROUND_ROBIN:
49152 case SCHEMA_AND_DATA:
49153 case SCHEMA_ONLY:
49154 case SORT_IN_TEMPDB:
49155 case IGNORE_DUP_KEY:
49156 case IMPLICIT_TRANSACTIONS:
49157 case MAX_DURATION:
49158 case MEMORY_OPTIMIZED:
49159 case MIGRATION_STATE:
49160 case PAD_INDEX:
49161 case REMOTE_DATA_ARCHIVE:
49162 case FILESTREAM_ON:
49163 case FILETABLE_COLLATE_FILENAME:
49164 case FILETABLE_DIRECTORY:
49165 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
49166 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
49167 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
49168 case FILTER_PREDICATE:
49169 case HISTORY_RETENTION_PERIOD:
49170 case HISTORY_TABLE:
49171 case LOCK_ESCALATION:
49172 case DROP_EXISTING:
49173 case ROW_NUMBER:
49174 case FIRST:
49175 case DATETIME2:
49176 case OUTPUT:
49177 case INSERTED:
49178 case DELETED:
49179 case FILENAME:
49180 case MAXSIZE:
49181 case FILEGROWTH:
49182 case UNLIMITED:
49183 case KB:
49184 case MB:
49185 case GB:
49186 case TB:
49187 case MEMORY_OPTIMIZED_DATA:
49188 case FILEGROUP:
49189 case NON_TRANSACTED_ACCESS:
49190 case DB_CHAINING:
49191 case TRUSTWORTHY:
49192 case FORWARD_ONLY:
49193 case KEYSET:
49194 case FAST_FORWARD:
49195 case SCROLL_LOCKS:
49196 case OPTIMISTIC:
49197 case TYPE_WARNING:
49198 case SCHEMABINDING:
49199 case CALLER:
49200 case OWNER:
49201 case SNAPSHOT:
49202 case REPEATABLE:
49203 case SERIALIZABLE:
49204 case NATIVE_COMPILATION:
49205 case VIEW_METADATA:
49206 case INSTEAD:
49207 case APPEND:
49208 case INCREMENT:
49209 case CACHE:
49210 case MINVALUE:
49211 case MAXVALUE:
49212 case RESTART:
49213 case LOB_COMPACTION:
49214 case COMPRESS_ALL_ROW_GROUPS:
49215 case REORGANIZE:
49216 case RESUME:
49217 case PAUSE:
49218 case ABORT:
49219 case ACCELERATED_DATABASE_RECOVERY:
49220 case PERSISTENT_VERSION_STORE_FILEGROUP:
49221 case IMMEDIATE:
49222 case NO_WAIT:
49223 case TARGET_RECOVERY_TIME:
49224 case SECONDS:
49225 case HONOR_BROKER_PRIORITY:
49226 case ERROR_BROKER_CONVERSATIONS:
49227 case NEW_BROKER:
49228 case DISABLE_BROKER:
49229 case ENABLE_BROKER:
49230 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
49231 case READ_COMMITTED_SNAPSHOT:
49232 case ALLOW_SNAPSHOT_ISOLATION:
49233 case RECURSIVE_TRIGGERS:
49234 case QUOTED_IDENTIFIER:
49235 case NUMERIC_ROUNDABORT:
49236 case CONCAT_NULL_YIELDS_NULL:
49237 case COMPATIBILITY_LEVEL:
49238 case ARITHABORT:
49239 case ANSI_WARNINGS:
49240 case ANSI_PADDING:
49241 case ANSI_NULLS:
49242 case ANSI_NULL_DEFAULT:
49243 case PAGE_VERIFY:
49244 case CHECKSUM:
49245 case TORN_PAGE_DETECTION:
49246 case BULK_LOGGED:
49247 case RECOVERY:
49248 case TOTAL_EXECUTION_CPU_TIME_MS:
49249 case TOTAL_COMPILE_CPU_TIME_MS:
49250 case STALE_CAPTURE_POLICY_THRESHOLD:
49251 case EXECUTION_COUNT:
49252 case QUERY_CAPTURE_POLICY:
49253 case WAIT_STATS_CAPTURE_MODE:
49254 case MAX_PLANS_PER_QUERY:
49255 case QUERY_CAPTURE_MODE:
49256 case SIZE_BASED_CLEANUP_MODE:
49257 case INTERVAL_LENGTH_MINUTES:
49258 case MAX_STORAGE_SIZE_MB:
49259 case DATA_FLUSH_INTERVAL_SECONDS:
49260 case CLEANUP_POLICY:
49261 case CUSTOM:
49262 case STALE_QUERY_THRESHOLD_DAYS:
49263 case OPERATION_MODE:
49264 case QUERY_STORE:
49265 case CURSOR_DEFAULT:
49266 case GLOBAL:
49267 case CURSOR_CLOSE_ON_COMMIT:
49268 case HOURS:
49269 case CHANGE_RETENTION:
49270 case AUTO_CLEANUP:
49271 case CHANGE_TRACKING:
49272 case AUTOMATIC_TUNING:
49273 case FORCE_LAST_GOOD_PLAN:
49274 case AUTO_UPDATE_STATISTICS_ASYNC:
49275 case AUTO_UPDATE_STATISTICS:
49276 case AUTO_SHRINK:
49277 case AUTO_CREATE_STATISTICS:
49278 case INCREMENTAL:
49279 case AUTO_CLOSE:
49280 case DATA_RETENTION:
49281 case TEMPORAL_HISTORY_RETENTION:
49282 case EDITION:
49283 case MIXED_PAGE_ALLOCATION:
49284 case DISABLED:
49285 case ALLOWED:
49286 case HADR:
49287 case MULTI_USER:
49288 case RESTRICTED_USER:
49289 case SINGLE_USER:
49290 case OFFLINE:
49291 case EMERGENCY:
49292 case SUSPEND:
49293 case DATE_CORRELATION_OPTIMIZATION:
49294 case ELASTIC_POOL:
49295 case SERVICE_OBJECTIVE:
49296 case DATABASE_NAME:
49297 case ALLOW_CONNECTIONS:
49298 case GEO:
49299 case NAMED:
49300 case DATEFIRST:
49301 case BACKUP_STORAGE_REDUNDANCY:
49302 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
49303 case SECONDARY:
49304 case FAILOVER:
49305 case DEFAULT_FULLTEXT_LANGUAGE:
49306 case DEFAULT_LANGUAGE:
49307 case INLINE:
49308 case NESTED_TRIGGERS:
49309 case TRANSFORM_NOISE_WORDS:
49310 case TWO_DIGIT_YEAR_CUTOFF:
49311 case PERSISTENT_LOG_BUFFER:
49312 case DIRECTORY_NAME:
49313 case DATEFORMAT:
49314 case DELAYED_DURABILITY:
49315 case AUTHORIZATION:
49316 case TRANSFER:
49317 case PROVIDER:
49318 case SEARCH:
49319 case MEMBER:
49320 case IDENTIFIER_:
49321 case DELIMITED_IDENTIFIER_:
49322 {
49323 setState(6672);
49324 schemaName();
49325 }
49326 break;
49327 case NULL:
49328 {
49329 setState(6673);
49330 match(NULL);
49331 }
49332 break;
49333 default:
49334 throw new NoViableAltException(this);
49335 }
49336 }
49337 break;
49338 case LOGIN:
49339 enterOuterAlt(_localctx, 3);
49340 {
49341 setState(6676);
49342 match(LOGIN);
49343 setState(6677);
49344 match(EQ_);
49345 setState(6678);
49346 identifier();
49347 }
49348 break;
49349 case PASSWORD:
49350 enterOuterAlt(_localctx, 4);
49351 {
49352 setState(6679);
49353 match(PASSWORD);
49354 setState(6680);
49355 match(EQ_);
49356 setState(6681);
49357 stringLiterals();
49358 setState(6685);
49359 _errHandler.sync(this);
49360 _la = _input.LA(1);
49361 if (_la==OLD_PASSWORD) {
49362 {
49363 setState(6682);
49364 match(OLD_PASSWORD);
49365 setState(6683);
49366 match(EQ_);
49367 setState(6684);
49368 stringLiterals();
49369 }
49370 }
49371
49372 }
49373 break;
49374 case DEFAULT_LANGUAGE:
49375 enterOuterAlt(_localctx, 5);
49376 {
49377 setState(6687);
49378 match(DEFAULT_LANGUAGE);
49379 setState(6688);
49380 match(EQ_);
49381 setState(6691);
49382 _errHandler.sync(this);
49383 switch (_input.LA(1)) {
49384 case NONE:
49385 {
49386 setState(6689);
49387 match(NONE);
49388 }
49389 break;
49390 case TRUNCATE:
49391 case SCHEMA:
49392 case COLUMNS:
49393 case PRECISION:
49394 case FUNCTION:
49395 case TRIGGER:
49396 case CAST:
49397 case SUBSTRING:
49398 case OFF:
49399 case GROUP:
49400 case LIMIT:
49401 case OFFSET:
49402 case SAVEPOINT:
49403 case BOOLEAN:
49404 case ARRAY:
49405 case DATE:
49406 case LOCALTIME:
49407 case LOCALTIMESTAMP:
49408 case QUARTER:
49409 case WEEK:
49410 case DAY:
49411 case SECOND:
49412 case MICROSECOND:
49413 case MAX:
49414 case MIN:
49415 case SUM:
49416 case COUNT:
49417 case AVG:
49418 case ENABLE:
49419 case DISABLE:
49420 case INSTANCE:
49421 case DO:
49422 case DEFINER:
49423 case SQL:
49424 case CASCADED:
49425 case LOCAL:
49426 case NEXT:
49427 case NAME:
49428 case INTEGER:
49429 case TYPE:
49430 case TEXT:
49431 case VIEWS:
49432 case READ_ONLY:
49433 case DATABASE:
49434 case RETURNS:
49435 case DATEPART:
49436 case PASSWORD:
49437 case BINARY:
49438 case HIDDEN_:
49439 case MOD:
49440 case PARTITION:
49441 case PARTITIONS:
49442 case TOP:
49443 case ROW:
49444 case ROWS:
49445 case XOR:
49446 case ALWAYS:
49447 case ROLE:
49448 case START:
49449 case ALGORITHM:
49450 case AUTO:
49451 case BLOCKERS:
49452 case CLUSTERED:
49453 case NONCLUSTERED:
49454 case COLUMNSTORE:
49455 case CONTENT:
49456 case YEARS:
49457 case MONTHS:
49458 case WEEKS:
49459 case DAYS:
49460 case MINUTES:
49461 case DENY:
49462 case DETERMINISTIC:
49463 case DISTRIBUTION:
49464 case DOCUMENT:
49465 case DURABILITY:
49466 case ENCRYPTED:
49467 case FILESTREAM:
49468 case FILETABLE:
49469 case FILLFACTOR:
49470 case FOLLOWING:
49471 case HASH:
49472 case HEAP:
49473 case INBOUND:
49474 case OUTBOUND:
49475 case UNBOUNDED:
49476 case INFINITE:
49477 case LOGIN:
49478 case MASKED:
49479 case MAXDOP:
49480 case MOVE:
49481 case NOCHECK:
49482 case OBJECT:
49483 case ONLINE:
49484 case OVER:
49485 case PAGE:
49486 case PAUSED:
49487 case PERIOD:
49488 case PERSISTED:
49489 case PRECEDING:
49490 case RANDOMIZED:
49491 case RANGE:
49492 case REBUILD:
49493 case REPLICATE:
49494 case REPLICATION:
49495 case RESUMABLE:
49496 case ROWGUIDCOL:
49497 case SAVE:
49498 case SELF:
49499 case SPARSE:
49500 case SWITCH:
49501 case TRAN:
49502 case TRANCOUNT:
49503 case CONTROL:
49504 case CONCAT:
49505 case TAKE:
49506 case OWNERSHIP:
49507 case DEFINITION:
49508 case APPLICATION:
49509 case ASSEMBLY:
49510 case SYMMETRIC:
49511 case ASYMMETRIC:
49512 case SERVER:
49513 case RECEIVE:
49514 case CHANGE:
49515 case TRACE:
49516 case TRACKING:
49517 case RESOURCES:
49518 case SETTINGS:
49519 case STATE:
49520 case AVAILABILITY:
49521 case CREDENTIAL:
49522 case ENDPOINT:
49523 case EVENT:
49524 case NOTIFICATION:
49525 case LINKED:
49526 case AUDIT:
49527 case DDL:
49528 case XML:
49529 case IMPERSONATE:
49530 case SECURABLES:
49531 case AUTHENTICATE:
49532 case EXTERNAL:
49533 case ACCESS:
49534 case ADMINISTER:
49535 case BULK:
49536 case OPERATIONS:
49537 case UNSAFE:
49538 case SHUTDOWN:
49539 case SCOPED:
49540 case CONFIGURATION:
49541 case DATASPACE:
49542 case SERVICE:
49543 case CERTIFICATE:
49544 case CONTRACT:
49545 case ENCRYPTION:
49546 case MASTER:
49547 case DATA:
49548 case SOURCE:
49549 case FILE:
49550 case FORMAT:
49551 case LIBRARY:
49552 case FULLTEXT:
49553 case MASK:
49554 case UNMASK:
49555 case MESSAGE:
49556 case REMOTE:
49557 case BINDING:
49558 case ROUTE:
49559 case SECURITY:
49560 case POLICY:
49561 case AGGREGATE:
49562 case QUEUE:
49563 case RULE:
49564 case SYNONYM:
49565 case COLLECTION:
49566 case SCRIPT:
49567 case KILL:
49568 case BACKUP:
49569 case LOG:
49570 case SHOWPLAN:
49571 case SUBSCRIBE:
49572 case QUERY:
49573 case NOTIFICATIONS:
49574 case CHECKPOINT:
49575 case SEQUENCE:
49576 case ABORT_AFTER_WAIT:
49577 case ALLOW_PAGE_LOCKS:
49578 case ALLOW_ROW_LOCKS:
49579 case ALL_SPARSE_COLUMNS:
49580 case BUCKET_COUNT:
49581 case COLUMNSTORE_ARCHIVE:
49582 case COLUMN_ENCRYPTION_KEY:
49583 case COLUMN_SET:
49584 case COMPRESSION_DELAY:
49585 case DATABASE_DEAULT:
49586 case DATA_COMPRESSION:
49587 case DATA_CONSISTENCY_CHECK:
49588 case ENCRYPTION_TYPE:
49589 case SYSTEM_TIME:
49590 case SYSTEM_VERSIONING:
49591 case TEXTIMAGE_ON:
49592 case WAIT_AT_LOW_PRIORITY:
49593 case STATISTICS_INCREMENTAL:
49594 case STATISTICS_NORECOMPUTE:
49595 case ROUND_ROBIN:
49596 case SCHEMA_AND_DATA:
49597 case SCHEMA_ONLY:
49598 case SORT_IN_TEMPDB:
49599 case IGNORE_DUP_KEY:
49600 case IMPLICIT_TRANSACTIONS:
49601 case MAX_DURATION:
49602 case MEMORY_OPTIMIZED:
49603 case MIGRATION_STATE:
49604 case PAD_INDEX:
49605 case REMOTE_DATA_ARCHIVE:
49606 case FILESTREAM_ON:
49607 case FILETABLE_COLLATE_FILENAME:
49608 case FILETABLE_DIRECTORY:
49609 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
49610 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
49611 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
49612 case FILTER_PREDICATE:
49613 case HISTORY_RETENTION_PERIOD:
49614 case HISTORY_TABLE:
49615 case LOCK_ESCALATION:
49616 case DROP_EXISTING:
49617 case ROW_NUMBER:
49618 case FIRST:
49619 case DATETIME2:
49620 case OUTPUT:
49621 case INSERTED:
49622 case DELETED:
49623 case FILENAME:
49624 case MAXSIZE:
49625 case FILEGROWTH:
49626 case UNLIMITED:
49627 case KB:
49628 case MB:
49629 case GB:
49630 case TB:
49631 case MEMORY_OPTIMIZED_DATA:
49632 case FILEGROUP:
49633 case NON_TRANSACTED_ACCESS:
49634 case DB_CHAINING:
49635 case TRUSTWORTHY:
49636 case FORWARD_ONLY:
49637 case KEYSET:
49638 case FAST_FORWARD:
49639 case SCROLL_LOCKS:
49640 case OPTIMISTIC:
49641 case TYPE_WARNING:
49642 case SCHEMABINDING:
49643 case CALLER:
49644 case OWNER:
49645 case SNAPSHOT:
49646 case REPEATABLE:
49647 case SERIALIZABLE:
49648 case NATIVE_COMPILATION:
49649 case VIEW_METADATA:
49650 case INSTEAD:
49651 case APPEND:
49652 case INCREMENT:
49653 case CACHE:
49654 case MINVALUE:
49655 case MAXVALUE:
49656 case RESTART:
49657 case LOB_COMPACTION:
49658 case COMPRESS_ALL_ROW_GROUPS:
49659 case REORGANIZE:
49660 case RESUME:
49661 case PAUSE:
49662 case ABORT:
49663 case ACCELERATED_DATABASE_RECOVERY:
49664 case PERSISTENT_VERSION_STORE_FILEGROUP:
49665 case IMMEDIATE:
49666 case NO_WAIT:
49667 case TARGET_RECOVERY_TIME:
49668 case SECONDS:
49669 case HONOR_BROKER_PRIORITY:
49670 case ERROR_BROKER_CONVERSATIONS:
49671 case NEW_BROKER:
49672 case DISABLE_BROKER:
49673 case ENABLE_BROKER:
49674 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
49675 case READ_COMMITTED_SNAPSHOT:
49676 case ALLOW_SNAPSHOT_ISOLATION:
49677 case RECURSIVE_TRIGGERS:
49678 case QUOTED_IDENTIFIER:
49679 case NUMERIC_ROUNDABORT:
49680 case CONCAT_NULL_YIELDS_NULL:
49681 case COMPATIBILITY_LEVEL:
49682 case ARITHABORT:
49683 case ANSI_WARNINGS:
49684 case ANSI_PADDING:
49685 case ANSI_NULLS:
49686 case ANSI_NULL_DEFAULT:
49687 case PAGE_VERIFY:
49688 case CHECKSUM:
49689 case TORN_PAGE_DETECTION:
49690 case BULK_LOGGED:
49691 case RECOVERY:
49692 case TOTAL_EXECUTION_CPU_TIME_MS:
49693 case TOTAL_COMPILE_CPU_TIME_MS:
49694 case STALE_CAPTURE_POLICY_THRESHOLD:
49695 case EXECUTION_COUNT:
49696 case QUERY_CAPTURE_POLICY:
49697 case WAIT_STATS_CAPTURE_MODE:
49698 case MAX_PLANS_PER_QUERY:
49699 case QUERY_CAPTURE_MODE:
49700 case SIZE_BASED_CLEANUP_MODE:
49701 case INTERVAL_LENGTH_MINUTES:
49702 case MAX_STORAGE_SIZE_MB:
49703 case DATA_FLUSH_INTERVAL_SECONDS:
49704 case CLEANUP_POLICY:
49705 case CUSTOM:
49706 case STALE_QUERY_THRESHOLD_DAYS:
49707 case OPERATION_MODE:
49708 case QUERY_STORE:
49709 case CURSOR_DEFAULT:
49710 case GLOBAL:
49711 case CURSOR_CLOSE_ON_COMMIT:
49712 case HOURS:
49713 case CHANGE_RETENTION:
49714 case AUTO_CLEANUP:
49715 case CHANGE_TRACKING:
49716 case AUTOMATIC_TUNING:
49717 case FORCE_LAST_GOOD_PLAN:
49718 case AUTO_UPDATE_STATISTICS_ASYNC:
49719 case AUTO_UPDATE_STATISTICS:
49720 case AUTO_SHRINK:
49721 case AUTO_CREATE_STATISTICS:
49722 case INCREMENTAL:
49723 case AUTO_CLOSE:
49724 case DATA_RETENTION:
49725 case TEMPORAL_HISTORY_RETENTION:
49726 case EDITION:
49727 case MIXED_PAGE_ALLOCATION:
49728 case DISABLED:
49729 case ALLOWED:
49730 case HADR:
49731 case MULTI_USER:
49732 case RESTRICTED_USER:
49733 case SINGLE_USER:
49734 case OFFLINE:
49735 case EMERGENCY:
49736 case SUSPEND:
49737 case DATE_CORRELATION_OPTIMIZATION:
49738 case ELASTIC_POOL:
49739 case SERVICE_OBJECTIVE:
49740 case DATABASE_NAME:
49741 case ALLOW_CONNECTIONS:
49742 case GEO:
49743 case NAMED:
49744 case DATEFIRST:
49745 case BACKUP_STORAGE_REDUNDANCY:
49746 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
49747 case SECONDARY:
49748 case FAILOVER:
49749 case DEFAULT_FULLTEXT_LANGUAGE:
49750 case DEFAULT_LANGUAGE:
49751 case INLINE:
49752 case NESTED_TRIGGERS:
49753 case TRANSFORM_NOISE_WORDS:
49754 case TWO_DIGIT_YEAR_CUTOFF:
49755 case PERSISTENT_LOG_BUFFER:
49756 case DIRECTORY_NAME:
49757 case DATEFORMAT:
49758 case DELAYED_DURABILITY:
49759 case AUTHORIZATION:
49760 case TRANSFER:
49761 case PROVIDER:
49762 case SEARCH:
49763 case MEMBER:
49764 case IDENTIFIER_:
49765 case DELIMITED_IDENTIFIER_:
49766 {
49767 setState(6690);
49768 identifier();
49769 }
49770 break;
49771 default:
49772 throw new NoViableAltException(this);
49773 }
49774 }
49775 break;
49776 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
49777 enterOuterAlt(_localctx, 6);
49778 {
49779 setState(6693);
49780 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
49781 setState(6694);
49782 match(EQ_);
49783 setState(6696);
49784 _errHandler.sync(this);
49785 _la = _input.LA(1);
49786 if (_la==ON || _la==OFF) {
49787 {
49788 setState(6695);
49789 _la = _input.LA(1);
49790 if ( !(_la==ON || _la==OFF) ) {
49791 _errHandler.recoverInline(this);
49792 }
49793 else {
49794 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
49795 _errHandler.reportMatch(this);
49796 consume();
49797 }
49798 }
49799 }
49800
49801 }
49802 break;
49803 default:
49804 throw new NoViableAltException(this);
49805 }
49806 }
49807 catch (RecognitionException re) {
49808 _localctx.exception = re;
49809 _errHandler.reportError(this, re);
49810 _errHandler.recover(this, re);
49811 }
49812 finally {
49813 exitRule();
49814 }
49815 return _localctx;
49816 }
49817
49818 public static class CreateRoleContext extends ParserRuleContext {
49819 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
49820 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
49821 public List<NameContext> name() {
49822 return getRuleContexts(NameContext.class);
49823 }
49824 public NameContext name(int i) {
49825 return getRuleContext(NameContext.class,i);
49826 }
49827 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
49828 public CreateRoleContext(ParserRuleContext parent, int invokingState) {
49829 super(parent, invokingState);
49830 }
49831 @Override public int getRuleIndex() { return RULE_createRole; }
49832 @Override
49833 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49834 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateRole(this);
49835 else return visitor.visitChildren(this);
49836 }
49837 }
49838
49839 public final CreateRoleContext createRole() throws RecognitionException {
49840 CreateRoleContext _localctx = new CreateRoleContext(_ctx, getState());
49841 enterRule(_localctx, 916, RULE_createRole);
49842 int _la;
49843 try {
49844 enterOuterAlt(_localctx, 1);
49845 {
49846 setState(6700);
49847 match(CREATE);
49848 setState(6701);
49849 match(ROLE);
49850 setState(6702);
49851 name();
49852 setState(6705);
49853 _errHandler.sync(this);
49854 _la = _input.LA(1);
49855 if (_la==AUTHORIZATION) {
49856 {
49857 setState(6703);
49858 match(AUTHORIZATION);
49859 setState(6704);
49860 name();
49861 }
49862 }
49863
49864 }
49865 }
49866 catch (RecognitionException re) {
49867 _localctx.exception = re;
49868 _errHandler.reportError(this, re);
49869 _errHandler.recover(this, re);
49870 }
49871 finally {
49872 exitRule();
49873 }
49874 return _localctx;
49875 }
49876
49877 public static class DropRoleContext extends ParserRuleContext {
49878 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
49879 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
49880 public NameContext name() {
49881 return getRuleContext(NameContext.class,0);
49882 }
49883 public IfExistsContext ifExists() {
49884 return getRuleContext(IfExistsContext.class,0);
49885 }
49886 public DropRoleContext(ParserRuleContext parent, int invokingState) {
49887 super(parent, invokingState);
49888 }
49889 @Override public int getRuleIndex() { return RULE_dropRole; }
49890 @Override
49891 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49892 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropRole(this);
49893 else return visitor.visitChildren(this);
49894 }
49895 }
49896
49897 public final DropRoleContext dropRole() throws RecognitionException {
49898 DropRoleContext _localctx = new DropRoleContext(_ctx, getState());
49899 enterRule(_localctx, 918, RULE_dropRole);
49900 int _la;
49901 try {
49902 enterOuterAlt(_localctx, 1);
49903 {
49904 setState(6707);
49905 match(DROP);
49906 setState(6708);
49907 match(ROLE);
49908 setState(6710);
49909 _errHandler.sync(this);
49910 _la = _input.LA(1);
49911 if (_la==IF) {
49912 {
49913 setState(6709);
49914 ifExists();
49915 }
49916 }
49917
49918 setState(6712);
49919 name();
49920 }
49921 }
49922 catch (RecognitionException re) {
49923 _localctx.exception = re;
49924 _errHandler.reportError(this, re);
49925 _errHandler.recover(this, re);
49926 }
49927 finally {
49928 exitRule();
49929 }
49930 return _localctx;
49931 }
49932
49933 public static class AlterRoleContext extends ParserRuleContext {
49934 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
49935 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
49936 public List<NameContext> name() {
49937 return getRuleContexts(NameContext.class);
49938 }
49939 public NameContext name(int i) {
49940 return getRuleContext(NameContext.class,i);
49941 }
49942 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
49943 public TerminalNode MEMBER() { return getToken(SQLServerStatementParser.MEMBER, 0); }
49944 public PrincipalContext principal() {
49945 return getRuleContext(PrincipalContext.class,0);
49946 }
49947 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
49948 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
49949 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
49950 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
49951 public AlterRoleContext(ParserRuleContext parent, int invokingState) {
49952 super(parent, invokingState);
49953 }
49954 @Override public int getRuleIndex() { return RULE_alterRole; }
49955 @Override
49956 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49957 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterRole(this);
49958 else return visitor.visitChildren(this);
49959 }
49960 }
49961
49962 public final AlterRoleContext alterRole() throws RecognitionException {
49963 AlterRoleContext _localctx = new AlterRoleContext(_ctx, getState());
49964 enterRule(_localctx, 920, RULE_alterRole);
49965 try {
49966 enterOuterAlt(_localctx, 1);
49967 {
49968 setState(6714);
49969 match(ALTER);
49970 setState(6715);
49971 match(ROLE);
49972 setState(6716);
49973 name();
49974 setState(6727);
49975 _errHandler.sync(this);
49976 switch (_input.LA(1)) {
49977 case ADD:
49978 {
49979 setState(6717);
49980 match(ADD);
49981 setState(6718);
49982 match(MEMBER);
49983 setState(6719);
49984 principal();
49985 }
49986 break;
49987 case DROP:
49988 {
49989 setState(6720);
49990 match(DROP);
49991 setState(6721);
49992 match(MEMBER);
49993 setState(6722);
49994 principal();
49995 }
49996 break;
49997 case WITH:
49998 {
49999 setState(6723);
50000 match(WITH);
50001 setState(6724);
50002 match(NAME);
50003 setState(6725);
50004 match(EQ_);
50005 setState(6726);
50006 name();
50007 }
50008 break;
50009 default:
50010 throw new NoViableAltException(this);
50011 }
50012 }
50013 }
50014 catch (RecognitionException re) {
50015 _localctx.exception = re;
50016 _errHandler.reportError(this, re);
50017 _errHandler.recover(this, re);
50018 }
50019 finally {
50020 exitRule();
50021 }
50022 return _localctx;
50023 }
50024
50025 public static class CreateLoginContext extends ParserRuleContext {
50026 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
50027 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
50028 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
50029 return getRuleContext(IgnoredNameIdentifierContext.class,0);
50030 }
50031 public CreateLoginForSQLServerClauseContext createLoginForSQLServerClause() {
50032 return getRuleContext(CreateLoginForSQLServerClauseContext.class,0);
50033 }
50034 public CreateLoginForAzureSQLDatabaseClauseContext createLoginForAzureSQLDatabaseClause() {
50035 return getRuleContext(CreateLoginForAzureSQLDatabaseClauseContext.class,0);
50036 }
50037 public CreateLoginForAzureManagedInstanceClauseContext createLoginForAzureManagedInstanceClause() {
50038 return getRuleContext(CreateLoginForAzureManagedInstanceClauseContext.class,0);
50039 }
50040 public CreateLoginForAzureSynapseAnalyticsClauseContext createLoginForAzureSynapseAnalyticsClause() {
50041 return getRuleContext(CreateLoginForAzureSynapseAnalyticsClauseContext.class,0);
50042 }
50043 public CreateLoginForAnalyticsPlatformSystemClauseContext createLoginForAnalyticsPlatformSystemClause() {
50044 return getRuleContext(CreateLoginForAnalyticsPlatformSystemClauseContext.class,0);
50045 }
50046 public CreateLoginContext(ParserRuleContext parent, int invokingState) {
50047 super(parent, invokingState);
50048 }
50049 @Override public int getRuleIndex() { return RULE_createLogin; }
50050 @Override
50051 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50052 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLogin(this);
50053 else return visitor.visitChildren(this);
50054 }
50055 }
50056
50057 public final CreateLoginContext createLogin() throws RecognitionException {
50058 CreateLoginContext _localctx = new CreateLoginContext(_ctx, getState());
50059 enterRule(_localctx, 922, RULE_createLogin);
50060 try {
50061 enterOuterAlt(_localctx, 1);
50062 {
50063 setState(6729);
50064 match(CREATE);
50065 setState(6730);
50066 match(LOGIN);
50067 setState(6731);
50068 ignoredNameIdentifier();
50069 setState(6737);
50070 _errHandler.sync(this);
50071 switch ( getInterpreter().adaptivePredict(_input,780,_ctx) ) {
50072 case 1:
50073 {
50074 setState(6732);
50075 createLoginForSQLServerClause();
50076 }
50077 break;
50078 case 2:
50079 {
50080 setState(6733);
50081 createLoginForAzureSQLDatabaseClause();
50082 }
50083 break;
50084 case 3:
50085 {
50086 setState(6734);
50087 createLoginForAzureManagedInstanceClause();
50088 }
50089 break;
50090 case 4:
50091 {
50092 setState(6735);
50093 createLoginForAzureSynapseAnalyticsClause();
50094 }
50095 break;
50096 case 5:
50097 {
50098 setState(6736);
50099 createLoginForAnalyticsPlatformSystemClause();
50100 }
50101 break;
50102 }
50103 }
50104 }
50105 catch (RecognitionException re) {
50106 _localctx.exception = re;
50107 _errHandler.reportError(this, re);
50108 _errHandler.recover(this, re);
50109 }
50110 finally {
50111 exitRule();
50112 }
50113 return _localctx;
50114 }
50115
50116 public static class CreateLoginForSQLServerClauseContext extends ParserRuleContext {
50117 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50118 public CreateLoginForSQLServerOptionListContext createLoginForSQLServerOptionList() {
50119 return getRuleContext(CreateLoginForSQLServerOptionListContext.class,0);
50120 }
50121 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
50122 public SourcesContext sources() {
50123 return getRuleContext(SourcesContext.class,0);
50124 }
50125 public CreateLoginForSQLServerClauseContext(ParserRuleContext parent, int invokingState) {
50126 super(parent, invokingState);
50127 }
50128 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerClause; }
50129 @Override
50130 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50131 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerClause(this);
50132 else return visitor.visitChildren(this);
50133 }
50134 }
50135
50136 public final CreateLoginForSQLServerClauseContext createLoginForSQLServerClause() throws RecognitionException {
50137 CreateLoginForSQLServerClauseContext _localctx = new CreateLoginForSQLServerClauseContext(_ctx, getState());
50138 enterRule(_localctx, 924, RULE_createLoginForSQLServerClause);
50139 try {
50140 setState(6743);
50141 _errHandler.sync(this);
50142 switch (_input.LA(1)) {
50143 case WITH:
50144 enterOuterAlt(_localctx, 1);
50145 {
50146 setState(6739);
50147 match(WITH);
50148 setState(6740);
50149 createLoginForSQLServerOptionList();
50150 }
50151 break;
50152 case FROM:
50153 enterOuterAlt(_localctx, 2);
50154 {
50155 setState(6741);
50156 match(FROM);
50157 setState(6742);
50158 sources();
50159 }
50160 break;
50161 default:
50162 throw new NoViableAltException(this);
50163 }
50164 }
50165 catch (RecognitionException re) {
50166 _localctx.exception = re;
50167 _errHandler.reportError(this, re);
50168 _errHandler.recover(this, re);
50169 }
50170 finally {
50171 exitRule();
50172 }
50173 return _localctx;
50174 }
50175
50176 public static class CreateLoginForSQLServerOptionListContext extends ParserRuleContext {
50177 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
50178 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50179 public StringLiteralsContext stringLiterals() {
50180 return getRuleContext(StringLiteralsContext.class,0);
50181 }
50182 public HashedPasswordContext hashedPassword() {
50183 return getRuleContext(HashedPasswordContext.class,0);
50184 }
50185 public TerminalNode HASHED() { return getToken(SQLServerStatementParser.HASHED, 0); }
50186 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
50187 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
50188 public TerminalNode COMMA_(int i) {
50189 return getToken(SQLServerStatementParser.COMMA_, i);
50190 }
50191 public List<CreateLoginForSQLServerOptionListClauseContext> createLoginForSQLServerOptionListClause() {
50192 return getRuleContexts(CreateLoginForSQLServerOptionListClauseContext.class);
50193 }
50194 public CreateLoginForSQLServerOptionListClauseContext createLoginForSQLServerOptionListClause(int i) {
50195 return getRuleContext(CreateLoginForSQLServerOptionListClauseContext.class,i);
50196 }
50197 public CreateLoginForSQLServerOptionListContext(ParserRuleContext parent, int invokingState) {
50198 super(parent, invokingState);
50199 }
50200 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerOptionList; }
50201 @Override
50202 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50203 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerOptionList(this);
50204 else return visitor.visitChildren(this);
50205 }
50206 }
50207
50208 public final CreateLoginForSQLServerOptionListContext createLoginForSQLServerOptionList() throws RecognitionException {
50209 CreateLoginForSQLServerOptionListContext _localctx = new CreateLoginForSQLServerOptionListContext(_ctx, getState());
50210 enterRule(_localctx, 926, RULE_createLoginForSQLServerOptionList);
50211 int _la;
50212 try {
50213 enterOuterAlt(_localctx, 1);
50214 {
50215 setState(6745);
50216 match(PASSWORD);
50217 setState(6746);
50218 match(EQ_);
50219 setState(6751);
50220 _errHandler.sync(this);
50221 switch (_input.LA(1)) {
50222 case STRING_:
50223 case NCHAR_TEXT:
50224 {
50225 setState(6747);
50226 stringLiterals();
50227 }
50228 break;
50229 case HEX_DIGIT_:
50230 {
50231 setState(6748);
50232 hashedPassword();
50233 setState(6749);
50234 match(HASHED);
50235 }
50236 break;
50237 default:
50238 throw new NoViableAltException(this);
50239 }
50240 setState(6754);
50241 _errHandler.sync(this);
50242 _la = _input.LA(1);
50243 if (_la==MUST_CHANGE) {
50244 {
50245 setState(6753);
50246 match(MUST_CHANGE);
50247 }
50248 }
50249
50250 setState(6765);
50251 _errHandler.sync(this);
50252 _la = _input.LA(1);
50253 if (_la==COMMA_) {
50254 {
50255 setState(6756);
50256 match(COMMA_);
50257 setState(6757);
50258 createLoginForSQLServerOptionListClause();
50259 setState(6762);
50260 _errHandler.sync(this);
50261 _la = _input.LA(1);
50262 while (_la==COMMA_) {
50263 {
50264 {
50265 setState(6758);
50266 match(COMMA_);
50267 setState(6759);
50268 createLoginForSQLServerOptionListClause();
50269 }
50270 }
50271 setState(6764);
50272 _errHandler.sync(this);
50273 _la = _input.LA(1);
50274 }
50275 }
50276 }
50277
50278 }
50279 }
50280 catch (RecognitionException re) {
50281 _localctx.exception = re;
50282 _errHandler.reportError(this, re);
50283 _errHandler.recover(this, re);
50284 }
50285 finally {
50286 exitRule();
50287 }
50288 return _localctx;
50289 }
50290
50291 public static class CreateLoginForSQLServerOptionListClauseContext extends ParserRuleContext {
50292 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
50293 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50294 public SidContext sid() {
50295 return getRuleContext(SidContext.class,0);
50296 }
50297 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
50298 public DatabaseNameContext databaseName() {
50299 return getRuleContext(DatabaseNameContext.class,0);
50300 }
50301 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
50302 public IdentifierContext identifier() {
50303 return getRuleContext(IdentifierContext.class,0);
50304 }
50305 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
50306 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
50307 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
50308 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
50309 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
50310 public CreateLoginForSQLServerOptionListClauseContext(ParserRuleContext parent, int invokingState) {
50311 super(parent, invokingState);
50312 }
50313 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerOptionListClause; }
50314 @Override
50315 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50316 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerOptionListClause(this);
50317 else return visitor.visitChildren(this);
50318 }
50319 }
50320
50321 public final CreateLoginForSQLServerOptionListClauseContext createLoginForSQLServerOptionListClause() throws RecognitionException {
50322 CreateLoginForSQLServerOptionListClauseContext _localctx = new CreateLoginForSQLServerOptionListClauseContext(_ctx, getState());
50323 enterRule(_localctx, 928, RULE_createLoginForSQLServerOptionListClause);
50324 int _la;
50325 try {
50326 setState(6785);
50327 _errHandler.sync(this);
50328 switch (_input.LA(1)) {
50329 case SID:
50330 enterOuterAlt(_localctx, 1);
50331 {
50332 setState(6767);
50333 match(SID);
50334 setState(6768);
50335 match(EQ_);
50336 setState(6769);
50337 sid();
50338 }
50339 break;
50340 case DEFAULT_DATABASE:
50341 enterOuterAlt(_localctx, 2);
50342 {
50343 setState(6770);
50344 match(DEFAULT_DATABASE);
50345 setState(6771);
50346 match(EQ_);
50347 setState(6772);
50348 databaseName();
50349 }
50350 break;
50351 case DEFAULT_LANGUAGE:
50352 enterOuterAlt(_localctx, 3);
50353 {
50354 setState(6773);
50355 match(DEFAULT_LANGUAGE);
50356 setState(6774);
50357 match(EQ_);
50358 setState(6775);
50359 identifier();
50360 }
50361 break;
50362 case CHECK_EXPIRATION:
50363 enterOuterAlt(_localctx, 4);
50364 {
50365 setState(6776);
50366 match(CHECK_EXPIRATION);
50367 setState(6777);
50368 match(EQ_);
50369 setState(6778);
50370 _la = _input.LA(1);
50371 if ( !(_la==ON || _la==OFF) ) {
50372 _errHandler.recoverInline(this);
50373 }
50374 else {
50375 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
50376 _errHandler.reportMatch(this);
50377 consume();
50378 }
50379 }
50380 break;
50381 case CHECK_POLICY:
50382 enterOuterAlt(_localctx, 5);
50383 {
50384 setState(6779);
50385 match(CHECK_POLICY);
50386 setState(6780);
50387 match(EQ_);
50388 setState(6781);
50389 _la = _input.LA(1);
50390 if ( !(_la==ON || _la==OFF) ) {
50391 _errHandler.recoverInline(this);
50392 }
50393 else {
50394 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
50395 _errHandler.reportMatch(this);
50396 consume();
50397 }
50398 }
50399 break;
50400 case CREDENTIAL:
50401 enterOuterAlt(_localctx, 6);
50402 {
50403 setState(6782);
50404 match(CREDENTIAL);
50405 setState(6783);
50406 match(EQ_);
50407 setState(6784);
50408 identifier();
50409 }
50410 break;
50411 default:
50412 throw new NoViableAltException(this);
50413 }
50414 }
50415 catch (RecognitionException re) {
50416 _localctx.exception = re;
50417 _errHandler.reportError(this, re);
50418 _errHandler.recover(this, re);
50419 }
50420 finally {
50421 exitRule();
50422 }
50423 return _localctx;
50424 }
50425
50426 public static class HashedPasswordContext extends ParserRuleContext {
50427 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
50428 public HashedPasswordContext(ParserRuleContext parent, int invokingState) {
50429 super(parent, invokingState);
50430 }
50431 @Override public int getRuleIndex() { return RULE_hashedPassword; }
50432 @Override
50433 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50434 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHashedPassword(this);
50435 else return visitor.visitChildren(this);
50436 }
50437 }
50438
50439 public final HashedPasswordContext hashedPassword() throws RecognitionException {
50440 HashedPasswordContext _localctx = new HashedPasswordContext(_ctx, getState());
50441 enterRule(_localctx, 930, RULE_hashedPassword);
50442 try {
50443 enterOuterAlt(_localctx, 1);
50444 {
50445 setState(6787);
50446 match(HEX_DIGIT_);
50447 }
50448 }
50449 catch (RecognitionException re) {
50450 _localctx.exception = re;
50451 _errHandler.reportError(this, re);
50452 _errHandler.recover(this, re);
50453 }
50454 finally {
50455 exitRule();
50456 }
50457 return _localctx;
50458 }
50459
50460 public static class SidContext extends ParserRuleContext {
50461 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
50462 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
50463 public SidContext(ParserRuleContext parent, int invokingState) {
50464 super(parent, invokingState);
50465 }
50466 @Override public int getRuleIndex() { return RULE_sid; }
50467 @Override
50468 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50469 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSid(this);
50470 else return visitor.visitChildren(this);
50471 }
50472 }
50473
50474 public final SidContext sid() throws RecognitionException {
50475 SidContext _localctx = new SidContext(_ctx, getState());
50476 enterRule(_localctx, 932, RULE_sid);
50477 int _la;
50478 try {
50479 enterOuterAlt(_localctx, 1);
50480 {
50481 setState(6789);
50482 _la = _input.LA(1);
50483 if ( !(_la==HEX_DIGIT_ || _la==NCHAR_TEXT) ) {
50484 _errHandler.recoverInline(this);
50485 }
50486 else {
50487 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
50488 _errHandler.reportMatch(this);
50489 consume();
50490 }
50491 }
50492 }
50493 catch (RecognitionException re) {
50494 _localctx.exception = re;
50495 _errHandler.reportError(this, re);
50496 _errHandler.recover(this, re);
50497 }
50498 finally {
50499 exitRule();
50500 }
50501 return _localctx;
50502 }
50503
50504 public static class SourcesContext extends ParserRuleContext {
50505 public TerminalNode WINDOWS() { return getToken(SQLServerStatementParser.WINDOWS, 0); }
50506 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50507 public List<WindowsOptionsContext> windowsOptions() {
50508 return getRuleContexts(WindowsOptionsContext.class);
50509 }
50510 public WindowsOptionsContext windowsOptions(int i) {
50511 return getRuleContext(WindowsOptionsContext.class,i);
50512 }
50513 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
50514 public TerminalNode COMMA_(int i) {
50515 return getToken(SQLServerStatementParser.COMMA_, i);
50516 }
50517 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
50518 public IdentifierContext identifier() {
50519 return getRuleContext(IdentifierContext.class,0);
50520 }
50521 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
50522 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
50523 public SourcesContext(ParserRuleContext parent, int invokingState) {
50524 super(parent, invokingState);
50525 }
50526 @Override public int getRuleIndex() { return RULE_sources; }
50527 @Override
50528 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50529 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSources(this);
50530 else return visitor.visitChildren(this);
50531 }
50532 }
50533
50534 public final SourcesContext sources() throws RecognitionException {
50535 SourcesContext _localctx = new SourcesContext(_ctx, getState());
50536 enterRule(_localctx, 934, RULE_sources);
50537 int _la;
50538 try {
50539 setState(6808);
50540 _errHandler.sync(this);
50541 switch (_input.LA(1)) {
50542 case WINDOWS:
50543 enterOuterAlt(_localctx, 1);
50544 {
50545 setState(6791);
50546 match(WINDOWS);
50547 setState(6801);
50548 _errHandler.sync(this);
50549 _la = _input.LA(1);
50550 if (_la==WITH) {
50551 {
50552 setState(6792);
50553 match(WITH);
50554 setState(6793);
50555 windowsOptions();
50556 setState(6798);
50557 _errHandler.sync(this);
50558 _la = _input.LA(1);
50559 while (_la==COMMA_) {
50560 {
50561 {
50562 setState(6794);
50563 match(COMMA_);
50564 setState(6795);
50565 windowsOptions();
50566 }
50567 }
50568 setState(6800);
50569 _errHandler.sync(this);
50570 _la = _input.LA(1);
50571 }
50572 }
50573 }
50574
50575 }
50576 break;
50577 case CERTIFICATE:
50578 enterOuterAlt(_localctx, 2);
50579 {
50580 setState(6803);
50581 match(CERTIFICATE);
50582 setState(6804);
50583 identifier();
50584 }
50585 break;
50586 case ASYMMETRIC:
50587 enterOuterAlt(_localctx, 3);
50588 {
50589 setState(6805);
50590 match(ASYMMETRIC);
50591 setState(6806);
50592 match(KEY);
50593 setState(6807);
50594 identifier();
50595 }
50596 break;
50597 default:
50598 throw new NoViableAltException(this);
50599 }
50600 }
50601 catch (RecognitionException re) {
50602 _localctx.exception = re;
50603 _errHandler.reportError(this, re);
50604 _errHandler.recover(this, re);
50605 }
50606 finally {
50607 exitRule();
50608 }
50609 return _localctx;
50610 }
50611
50612 public static class WindowsOptionsContext extends ParserRuleContext {
50613 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
50614 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50615 public DatabaseNameContext databaseName() {
50616 return getRuleContext(DatabaseNameContext.class,0);
50617 }
50618 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
50619 public IdentifierContext identifier() {
50620 return getRuleContext(IdentifierContext.class,0);
50621 }
50622 public WindowsOptionsContext(ParserRuleContext parent, int invokingState) {
50623 super(parent, invokingState);
50624 }
50625 @Override public int getRuleIndex() { return RULE_windowsOptions; }
50626 @Override
50627 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50628 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowsOptions(this);
50629 else return visitor.visitChildren(this);
50630 }
50631 }
50632
50633 public final WindowsOptionsContext windowsOptions() throws RecognitionException {
50634 WindowsOptionsContext _localctx = new WindowsOptionsContext(_ctx, getState());
50635 enterRule(_localctx, 936, RULE_windowsOptions);
50636 try {
50637 setState(6816);
50638 _errHandler.sync(this);
50639 switch (_input.LA(1)) {
50640 case DEFAULT_DATABASE:
50641 enterOuterAlt(_localctx, 1);
50642 {
50643 setState(6810);
50644 match(DEFAULT_DATABASE);
50645 setState(6811);
50646 match(EQ_);
50647 setState(6812);
50648 databaseName();
50649 }
50650 break;
50651 case DEFAULT_LANGUAGE:
50652 enterOuterAlt(_localctx, 2);
50653 {
50654 setState(6813);
50655 match(DEFAULT_LANGUAGE);
50656 setState(6814);
50657 match(EQ_);
50658 setState(6815);
50659 identifier();
50660 }
50661 break;
50662 default:
50663 throw new NoViableAltException(this);
50664 }
50665 }
50666 catch (RecognitionException re) {
50667 _localctx.exception = re;
50668 _errHandler.reportError(this, re);
50669 _errHandler.recover(this, re);
50670 }
50671 finally {
50672 exitRule();
50673 }
50674 return _localctx;
50675 }
50676
50677 public static class CreateLoginForAzureSQLDatabaseClauseContext extends ParserRuleContext {
50678 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
50679 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
50680 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
50681 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50682 public List<CreateLoginForAzureSQLDatabaseOptionListContext> createLoginForAzureSQLDatabaseOptionList() {
50683 return getRuleContexts(CreateLoginForAzureSQLDatabaseOptionListContext.class);
50684 }
50685 public CreateLoginForAzureSQLDatabaseOptionListContext createLoginForAzureSQLDatabaseOptionList(int i) {
50686 return getRuleContext(CreateLoginForAzureSQLDatabaseOptionListContext.class,i);
50687 }
50688 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
50689 public TerminalNode COMMA_(int i) {
50690 return getToken(SQLServerStatementParser.COMMA_, i);
50691 }
50692 public CreateLoginForAzureSQLDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
50693 super(parent, invokingState);
50694 }
50695 @Override public int getRuleIndex() { return RULE_createLoginForAzureSQLDatabaseClause; }
50696 @Override
50697 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50698 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSQLDatabaseClause(this);
50699 else return visitor.visitChildren(this);
50700 }
50701 }
50702
50703 public final CreateLoginForAzureSQLDatabaseClauseContext createLoginForAzureSQLDatabaseClause() throws RecognitionException {
50704 CreateLoginForAzureSQLDatabaseClauseContext _localctx = new CreateLoginForAzureSQLDatabaseClauseContext(_ctx, getState());
50705 enterRule(_localctx, 938, RULE_createLoginForAzureSQLDatabaseClause);
50706 int _la;
50707 try {
50708 setState(6830);
50709 _errHandler.sync(this);
50710 switch (_input.LA(1)) {
50711 case FROM:
50712 enterOuterAlt(_localctx, 1);
50713 {
50714 setState(6818);
50715 match(FROM);
50716 setState(6819);
50717 match(EXTERNAL);
50718 setState(6820);
50719 match(PROVIDER);
50720 }
50721 break;
50722 case WITH:
50723 enterOuterAlt(_localctx, 2);
50724 {
50725 setState(6821);
50726 match(WITH);
50727 setState(6822);
50728 createLoginForAzureSQLDatabaseOptionList();
50729 setState(6827);
50730 _errHandler.sync(this);
50731 _la = _input.LA(1);
50732 while (_la==COMMA_) {
50733 {
50734 {
50735 setState(6823);
50736 match(COMMA_);
50737 setState(6824);
50738 createLoginForAzureSQLDatabaseOptionList();
50739 }
50740 }
50741 setState(6829);
50742 _errHandler.sync(this);
50743 _la = _input.LA(1);
50744 }
50745 }
50746 break;
50747 default:
50748 throw new NoViableAltException(this);
50749 }
50750 }
50751 catch (RecognitionException re) {
50752 _localctx.exception = re;
50753 _errHandler.reportError(this, re);
50754 _errHandler.recover(this, re);
50755 }
50756 finally {
50757 exitRule();
50758 }
50759 return _localctx;
50760 }
50761
50762 public static class CreateLoginForAzureSQLDatabaseOptionListContext extends ParserRuleContext {
50763 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
50764 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
50765 public TerminalNode EQ_(int i) {
50766 return getToken(SQLServerStatementParser.EQ_, i);
50767 }
50768 public StringLiteralsContext stringLiterals() {
50769 return getRuleContext(StringLiteralsContext.class,0);
50770 }
50771 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
50772 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
50773 public SidContext sid() {
50774 return getRuleContext(SidContext.class,0);
50775 }
50776 public CreateLoginForAzureSQLDatabaseOptionListContext(ParserRuleContext parent, int invokingState) {
50777 super(parent, invokingState);
50778 }
50779 @Override public int getRuleIndex() { return RULE_createLoginForAzureSQLDatabaseOptionList; }
50780 @Override
50781 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50782 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSQLDatabaseOptionList(this);
50783 else return visitor.visitChildren(this);
50784 }
50785 }
50786
50787 public final CreateLoginForAzureSQLDatabaseOptionListContext createLoginForAzureSQLDatabaseOptionList() throws RecognitionException {
50788 CreateLoginForAzureSQLDatabaseOptionListContext _localctx = new CreateLoginForAzureSQLDatabaseOptionListContext(_ctx, getState());
50789 enterRule(_localctx, 940, RULE_createLoginForAzureSQLDatabaseOptionList);
50790 try {
50791 enterOuterAlt(_localctx, 1);
50792 {
50793 setState(6832);
50794 match(PASSWORD);
50795 setState(6833);
50796 match(EQ_);
50797 setState(6834);
50798 stringLiterals();
50799 setState(6839);
50800 _errHandler.sync(this);
50801 switch ( getInterpreter().adaptivePredict(_input,793,_ctx) ) {
50802 case 1:
50803 {
50804 setState(6835);
50805 match(COMMA_);
50806 setState(6836);
50807 match(SID);
50808 setState(6837);
50809 match(EQ_);
50810 setState(6838);
50811 sid();
50812 }
50813 break;
50814 }
50815 }
50816 }
50817 catch (RecognitionException re) {
50818 _localctx.exception = re;
50819 _errHandler.reportError(this, re);
50820 _errHandler.recover(this, re);
50821 }
50822 finally {
50823 exitRule();
50824 }
50825 return _localctx;
50826 }
50827
50828 public static class CreateLoginForAzureManagedInstanceClauseContext extends ParserRuleContext {
50829 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50830 public List<AzureManagedInstanceOptionListContext> azureManagedInstanceOptionList() {
50831 return getRuleContexts(AzureManagedInstanceOptionListContext.class);
50832 }
50833 public AzureManagedInstanceOptionListContext azureManagedInstanceOptionList(int i) {
50834 return getRuleContext(AzureManagedInstanceOptionListContext.class,i);
50835 }
50836 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
50837 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
50838 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
50839 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
50840 public TerminalNode COMMA_(int i) {
50841 return getToken(SQLServerStatementParser.COMMA_, i);
50842 }
50843 public CreateLoginForAzureManagedInstanceClauseContext(ParserRuleContext parent, int invokingState) {
50844 super(parent, invokingState);
50845 }
50846 @Override public int getRuleIndex() { return RULE_createLoginForAzureManagedInstanceClause; }
50847 @Override
50848 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50849 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureManagedInstanceClause(this);
50850 else return visitor.visitChildren(this);
50851 }
50852 }
50853
50854 public final CreateLoginForAzureManagedInstanceClauseContext createLoginForAzureManagedInstanceClause() throws RecognitionException {
50855 CreateLoginForAzureManagedInstanceClauseContext _localctx = new CreateLoginForAzureManagedInstanceClauseContext(_ctx, getState());
50856 enterRule(_localctx, 942, RULE_createLoginForAzureManagedInstanceClause);
50857 int _la;
50858 try {
50859 enterOuterAlt(_localctx, 1);
50860 {
50861 setState(6844);
50862 _errHandler.sync(this);
50863 _la = _input.LA(1);
50864 if (_la==FROM) {
50865 {
50866 setState(6841);
50867 match(FROM);
50868 setState(6842);
50869 match(EXTERNAL);
50870 setState(6843);
50871 match(PROVIDER);
50872 }
50873 }
50874
50875 setState(6846);
50876 match(WITH);
50877 setState(6847);
50878 azureManagedInstanceOptionList();
50879 setState(6852);
50880 _errHandler.sync(this);
50881 _la = _input.LA(1);
50882 while (_la==COMMA_) {
50883 {
50884 {
50885 setState(6848);
50886 match(COMMA_);
50887 setState(6849);
50888 azureManagedInstanceOptionList();
50889 }
50890 }
50891 setState(6854);
50892 _errHandler.sync(this);
50893 _la = _input.LA(1);
50894 }
50895 }
50896 }
50897 catch (RecognitionException re) {
50898 _localctx.exception = re;
50899 _errHandler.reportError(this, re);
50900 _errHandler.recover(this, re);
50901 }
50902 finally {
50903 exitRule();
50904 }
50905 return _localctx;
50906 }
50907
50908 public static class AzureManagedInstanceOptionListContext extends ParserRuleContext {
50909 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
50910 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50911 public StringLiteralsContext stringLiterals() {
50912 return getRuleContext(StringLiteralsContext.class,0);
50913 }
50914 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
50915 public SidContext sid() {
50916 return getRuleContext(SidContext.class,0);
50917 }
50918 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
50919 public DatabaseNameContext databaseName() {
50920 return getRuleContext(DatabaseNameContext.class,0);
50921 }
50922 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
50923 public IdentifierContext identifier() {
50924 return getRuleContext(IdentifierContext.class,0);
50925 }
50926 public AzureManagedInstanceOptionListContext(ParserRuleContext parent, int invokingState) {
50927 super(parent, invokingState);
50928 }
50929 @Override public int getRuleIndex() { return RULE_azureManagedInstanceOptionList; }
50930 @Override
50931 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50932 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAzureManagedInstanceOptionList(this);
50933 else return visitor.visitChildren(this);
50934 }
50935 }
50936
50937 public final AzureManagedInstanceOptionListContext azureManagedInstanceOptionList() throws RecognitionException {
50938 AzureManagedInstanceOptionListContext _localctx = new AzureManagedInstanceOptionListContext(_ctx, getState());
50939 enterRule(_localctx, 944, RULE_azureManagedInstanceOptionList);
50940 try {
50941 setState(6867);
50942 _errHandler.sync(this);
50943 switch (_input.LA(1)) {
50944 case PASSWORD:
50945 enterOuterAlt(_localctx, 1);
50946 {
50947 setState(6855);
50948 match(PASSWORD);
50949 setState(6856);
50950 match(EQ_);
50951 setState(6857);
50952 stringLiterals();
50953 }
50954 break;
50955 case SID:
50956 enterOuterAlt(_localctx, 2);
50957 {
50958 setState(6858);
50959 match(SID);
50960 setState(6859);
50961 match(EQ_);
50962 setState(6860);
50963 sid();
50964 }
50965 break;
50966 case DEFAULT_DATABASE:
50967 enterOuterAlt(_localctx, 3);
50968 {
50969 setState(6861);
50970 match(DEFAULT_DATABASE);
50971 setState(6862);
50972 match(EQ_);
50973 setState(6863);
50974 databaseName();
50975 }
50976 break;
50977 case DEFAULT_LANGUAGE:
50978 enterOuterAlt(_localctx, 4);
50979 {
50980 setState(6864);
50981 match(DEFAULT_LANGUAGE);
50982 setState(6865);
50983 match(EQ_);
50984 setState(6866);
50985 identifier();
50986 }
50987 break;
50988 default:
50989 throw new NoViableAltException(this);
50990 }
50991 }
50992 catch (RecognitionException re) {
50993 _localctx.exception = re;
50994 _errHandler.reportError(this, re);
50995 _errHandler.recover(this, re);
50996 }
50997 finally {
50998 exitRule();
50999 }
51000 return _localctx;
51001 }
51002
51003 public static class CreateLoginForAzureSynapseAnalyticsClauseContext extends ParserRuleContext {
51004 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51005 public CreateLoginForAzureSynapseAnalyticsOptionListContext createLoginForAzureSynapseAnalyticsOptionList() {
51006 return getRuleContext(CreateLoginForAzureSynapseAnalyticsOptionListContext.class,0);
51007 }
51008 public CreateLoginForAzureSynapseAnalyticsClauseContext(ParserRuleContext parent, int invokingState) {
51009 super(parent, invokingState);
51010 }
51011 @Override public int getRuleIndex() { return RULE_createLoginForAzureSynapseAnalyticsClause; }
51012 @Override
51013 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51014 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSynapseAnalyticsClause(this);
51015 else return visitor.visitChildren(this);
51016 }
51017 }
51018
51019 public final CreateLoginForAzureSynapseAnalyticsClauseContext createLoginForAzureSynapseAnalyticsClause() throws RecognitionException {
51020 CreateLoginForAzureSynapseAnalyticsClauseContext _localctx = new CreateLoginForAzureSynapseAnalyticsClauseContext(_ctx, getState());
51021 enterRule(_localctx, 946, RULE_createLoginForAzureSynapseAnalyticsClause);
51022 try {
51023 enterOuterAlt(_localctx, 1);
51024 {
51025 setState(6869);
51026 match(WITH);
51027 setState(6870);
51028 createLoginForAzureSynapseAnalyticsOptionList();
51029 }
51030 }
51031 catch (RecognitionException re) {
51032 _localctx.exception = re;
51033 _errHandler.reportError(this, re);
51034 _errHandler.recover(this, re);
51035 }
51036 finally {
51037 exitRule();
51038 }
51039 return _localctx;
51040 }
51041
51042 public static class CreateLoginForAzureSynapseAnalyticsOptionListContext extends ParserRuleContext {
51043 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
51044 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
51045 public TerminalNode EQ_(int i) {
51046 return getToken(SQLServerStatementParser.EQ_, i);
51047 }
51048 public StringLiteralsContext stringLiterals() {
51049 return getRuleContext(StringLiteralsContext.class,0);
51050 }
51051 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
51052 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
51053 public SidContext sid() {
51054 return getRuleContext(SidContext.class,0);
51055 }
51056 public CreateLoginForAzureSynapseAnalyticsOptionListContext(ParserRuleContext parent, int invokingState) {
51057 super(parent, invokingState);
51058 }
51059 @Override public int getRuleIndex() { return RULE_createLoginForAzureSynapseAnalyticsOptionList; }
51060 @Override
51061 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51062 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSynapseAnalyticsOptionList(this);
51063 else return visitor.visitChildren(this);
51064 }
51065 }
51066
51067 public final CreateLoginForAzureSynapseAnalyticsOptionListContext createLoginForAzureSynapseAnalyticsOptionList() throws RecognitionException {
51068 CreateLoginForAzureSynapseAnalyticsOptionListContext _localctx = new CreateLoginForAzureSynapseAnalyticsOptionListContext(_ctx, getState());
51069 enterRule(_localctx, 948, RULE_createLoginForAzureSynapseAnalyticsOptionList);
51070 int _la;
51071 try {
51072 enterOuterAlt(_localctx, 1);
51073 {
51074 setState(6872);
51075 match(PASSWORD);
51076 setState(6873);
51077 match(EQ_);
51078 setState(6874);
51079 stringLiterals();
51080 setState(6879);
51081 _errHandler.sync(this);
51082 _la = _input.LA(1);
51083 if (_la==COMMA_) {
51084 {
51085 setState(6875);
51086 match(COMMA_);
51087 setState(6876);
51088 match(SID);
51089 setState(6877);
51090 match(EQ_);
51091 setState(6878);
51092 sid();
51093 }
51094 }
51095
51096 }
51097 }
51098 catch (RecognitionException re) {
51099 _localctx.exception = re;
51100 _errHandler.reportError(this, re);
51101 _errHandler.recover(this, re);
51102 }
51103 finally {
51104 exitRule();
51105 }
51106 return _localctx;
51107 }
51108
51109 public static class CreateLoginForAnalyticsPlatformSystemClauseContext extends ParserRuleContext {
51110 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51111 public CreateLoginForAnalyticsPlatformSystemOptionListContext createLoginForAnalyticsPlatformSystemOptionList() {
51112 return getRuleContext(CreateLoginForAnalyticsPlatformSystemOptionListContext.class,0);
51113 }
51114 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
51115 public TerminalNode WINDOWS() { return getToken(SQLServerStatementParser.WINDOWS, 0); }
51116 public CreateLoginForAnalyticsPlatformSystemClauseContext(ParserRuleContext parent, int invokingState) {
51117 super(parent, invokingState);
51118 }
51119 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemClause; }
51120 @Override
51121 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51122 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemClause(this);
51123 else return visitor.visitChildren(this);
51124 }
51125 }
51126
51127 public final CreateLoginForAnalyticsPlatformSystemClauseContext createLoginForAnalyticsPlatformSystemClause() throws RecognitionException {
51128 CreateLoginForAnalyticsPlatformSystemClauseContext _localctx = new CreateLoginForAnalyticsPlatformSystemClauseContext(_ctx, getState());
51129 enterRule(_localctx, 950, RULE_createLoginForAnalyticsPlatformSystemClause);
51130 try {
51131 setState(6885);
51132 _errHandler.sync(this);
51133 switch (_input.LA(1)) {
51134 case WITH:
51135 enterOuterAlt(_localctx, 1);
51136 {
51137 setState(6881);
51138 match(WITH);
51139 setState(6882);
51140 createLoginForAnalyticsPlatformSystemOptionList();
51141 }
51142 break;
51143 case FROM:
51144 enterOuterAlt(_localctx, 2);
51145 {
51146 setState(6883);
51147 match(FROM);
51148 setState(6884);
51149 match(WINDOWS);
51150 }
51151 break;
51152 default:
51153 throw new NoViableAltException(this);
51154 }
51155 }
51156 catch (RecognitionException re) {
51157 _localctx.exception = re;
51158 _errHandler.reportError(this, re);
51159 _errHandler.recover(this, re);
51160 }
51161 finally {
51162 exitRule();
51163 }
51164 return _localctx;
51165 }
51166
51167 public static class CreateLoginForAnalyticsPlatformSystemOptionListContext extends ParserRuleContext {
51168 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
51169 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
51170 public StringLiteralsContext stringLiterals() {
51171 return getRuleContext(StringLiteralsContext.class,0);
51172 }
51173 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
51174 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
51175 public TerminalNode COMMA_(int i) {
51176 return getToken(SQLServerStatementParser.COMMA_, i);
51177 }
51178 public List<CreateLoginForAnalyticsPlatformSystemOptionListClauseContext> createLoginForAnalyticsPlatformSystemOptionListClause() {
51179 return getRuleContexts(CreateLoginForAnalyticsPlatformSystemOptionListClauseContext.class);
51180 }
51181 public CreateLoginForAnalyticsPlatformSystemOptionListClauseContext createLoginForAnalyticsPlatformSystemOptionListClause(int i) {
51182 return getRuleContext(CreateLoginForAnalyticsPlatformSystemOptionListClauseContext.class,i);
51183 }
51184 public CreateLoginForAnalyticsPlatformSystemOptionListContext(ParserRuleContext parent, int invokingState) {
51185 super(parent, invokingState);
51186 }
51187 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemOptionList; }
51188 @Override
51189 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51190 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemOptionList(this);
51191 else return visitor.visitChildren(this);
51192 }
51193 }
51194
51195 public final CreateLoginForAnalyticsPlatformSystemOptionListContext createLoginForAnalyticsPlatformSystemOptionList() throws RecognitionException {
51196 CreateLoginForAnalyticsPlatformSystemOptionListContext _localctx = new CreateLoginForAnalyticsPlatformSystemOptionListContext(_ctx, getState());
51197 enterRule(_localctx, 952, RULE_createLoginForAnalyticsPlatformSystemOptionList);
51198 int _la;
51199 try {
51200 enterOuterAlt(_localctx, 1);
51201 {
51202 setState(6887);
51203 match(PASSWORD);
51204 setState(6888);
51205 match(EQ_);
51206 setState(6889);
51207 stringLiterals();
51208 setState(6891);
51209 _errHandler.sync(this);
51210 _la = _input.LA(1);
51211 if (_la==MUST_CHANGE) {
51212 {
51213 setState(6890);
51214 match(MUST_CHANGE);
51215 }
51216 }
51217
51218 setState(6902);
51219 _errHandler.sync(this);
51220 _la = _input.LA(1);
51221 if (_la==COMMA_) {
51222 {
51223 setState(6893);
51224 match(COMMA_);
51225 setState(6894);
51226 createLoginForAnalyticsPlatformSystemOptionListClause();
51227 setState(6899);
51228 _errHandler.sync(this);
51229 _la = _input.LA(1);
51230 while (_la==COMMA_) {
51231 {
51232 {
51233 setState(6895);
51234 match(COMMA_);
51235 setState(6896);
51236 createLoginForAnalyticsPlatformSystemOptionListClause();
51237 }
51238 }
51239 setState(6901);
51240 _errHandler.sync(this);
51241 _la = _input.LA(1);
51242 }
51243 }
51244 }
51245
51246 }
51247 }
51248 catch (RecognitionException re) {
51249 _localctx.exception = re;
51250 _errHandler.reportError(this, re);
51251 _errHandler.recover(this, re);
51252 }
51253 finally {
51254 exitRule();
51255 }
51256 return _localctx;
51257 }
51258
51259 public static class CreateLoginForAnalyticsPlatformSystemOptionListClauseContext extends ParserRuleContext {
51260 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
51261 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
51262 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
51263 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
51264 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
51265 public CreateLoginForAnalyticsPlatformSystemOptionListClauseContext(ParserRuleContext parent, int invokingState) {
51266 super(parent, invokingState);
51267 }
51268 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemOptionListClause; }
51269 @Override
51270 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51271 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemOptionListClause(this);
51272 else return visitor.visitChildren(this);
51273 }
51274 }
51275
51276 public final CreateLoginForAnalyticsPlatformSystemOptionListClauseContext createLoginForAnalyticsPlatformSystemOptionListClause() throws RecognitionException {
51277 CreateLoginForAnalyticsPlatformSystemOptionListClauseContext _localctx = new CreateLoginForAnalyticsPlatformSystemOptionListClauseContext(_ctx, getState());
51278 enterRule(_localctx, 954, RULE_createLoginForAnalyticsPlatformSystemOptionListClause);
51279 int _la;
51280 try {
51281 setState(6910);
51282 _errHandler.sync(this);
51283 switch (_input.LA(1)) {
51284 case CHECK_EXPIRATION:
51285 enterOuterAlt(_localctx, 1);
51286 {
51287 setState(6904);
51288 match(CHECK_EXPIRATION);
51289 setState(6905);
51290 match(EQ_);
51291 setState(6906);
51292 _la = _input.LA(1);
51293 if ( !(_la==ON || _la==OFF) ) {
51294 _errHandler.recoverInline(this);
51295 }
51296 else {
51297 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51298 _errHandler.reportMatch(this);
51299 consume();
51300 }
51301 }
51302 break;
51303 case CHECK_POLICY:
51304 enterOuterAlt(_localctx, 2);
51305 {
51306 setState(6907);
51307 match(CHECK_POLICY);
51308 setState(6908);
51309 match(EQ_);
51310 setState(6909);
51311 _la = _input.LA(1);
51312 if ( !(_la==ON || _la==OFF) ) {
51313 _errHandler.recoverInline(this);
51314 }
51315 else {
51316 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51317 _errHandler.reportMatch(this);
51318 consume();
51319 }
51320 }
51321 break;
51322 default:
51323 throw new NoViableAltException(this);
51324 }
51325 }
51326 catch (RecognitionException re) {
51327 _localctx.exception = re;
51328 _errHandler.reportError(this, re);
51329 _errHandler.recover(this, re);
51330 }
51331 finally {
51332 exitRule();
51333 }
51334 return _localctx;
51335 }
51336
51337 public static class DropLoginContext extends ParserRuleContext {
51338 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
51339 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
51340 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
51341 return getRuleContext(IgnoredNameIdentifierContext.class,0);
51342 }
51343 public DropLoginContext(ParserRuleContext parent, int invokingState) {
51344 super(parent, invokingState);
51345 }
51346 @Override public int getRuleIndex() { return RULE_dropLogin; }
51347 @Override
51348 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51349 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropLogin(this);
51350 else return visitor.visitChildren(this);
51351 }
51352 }
51353
51354 public final DropLoginContext dropLogin() throws RecognitionException {
51355 DropLoginContext _localctx = new DropLoginContext(_ctx, getState());
51356 enterRule(_localctx, 956, RULE_dropLogin);
51357 try {
51358 enterOuterAlt(_localctx, 1);
51359 {
51360 setState(6912);
51361 match(DROP);
51362 setState(6913);
51363 match(LOGIN);
51364 setState(6914);
51365 ignoredNameIdentifier();
51366 }
51367 }
51368 catch (RecognitionException re) {
51369 _localctx.exception = re;
51370 _errHandler.reportError(this, re);
51371 _errHandler.recover(this, re);
51372 }
51373 finally {
51374 exitRule();
51375 }
51376 return _localctx;
51377 }
51378
51379 public static class AlterLoginContext extends ParserRuleContext {
51380 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
51381 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
51382 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
51383 return getRuleContext(IgnoredNameIdentifierContext.class,0);
51384 }
51385 public StatusOptionClauseContext statusOptionClause() {
51386 return getRuleContext(StatusOptionClauseContext.class,0);
51387 }
51388 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51389 public List<SetOptionClauseContext> setOptionClause() {
51390 return getRuleContexts(SetOptionClauseContext.class);
51391 }
51392 public SetOptionClauseContext setOptionClause(int i) {
51393 return getRuleContext(SetOptionClauseContext.class,i);
51394 }
51395 public CryptographicCredentialsOptionClauseContext cryptographicCredentialsOptionClause() {
51396 return getRuleContext(CryptographicCredentialsOptionClauseContext.class,0);
51397 }
51398 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
51399 public TerminalNode COMMA_(int i) {
51400 return getToken(SQLServerStatementParser.COMMA_, i);
51401 }
51402 public AlterLoginContext(ParserRuleContext parent, int invokingState) {
51403 super(parent, invokingState);
51404 }
51405 @Override public int getRuleIndex() { return RULE_alterLogin; }
51406 @Override
51407 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51408 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterLogin(this);
51409 else return visitor.visitChildren(this);
51410 }
51411 }
51412
51413 public final AlterLoginContext alterLogin() throws RecognitionException {
51414 AlterLoginContext _localctx = new AlterLoginContext(_ctx, getState());
51415 enterRule(_localctx, 958, RULE_alterLogin);
51416 int _la;
51417 try {
51418 enterOuterAlt(_localctx, 1);
51419 {
51420 setState(6916);
51421 match(ALTER);
51422 setState(6917);
51423 match(LOGIN);
51424 setState(6918);
51425 ignoredNameIdentifier();
51426 setState(6930);
51427 _errHandler.sync(this);
51428 switch (_input.LA(1)) {
51429 case ENABLE:
51430 case DISABLE:
51431 {
51432 setState(6919);
51433 statusOptionClause();
51434 }
51435 break;
51436 case WITH:
51437 {
51438 setState(6920);
51439 match(WITH);
51440 setState(6921);
51441 setOptionClause();
51442 setState(6926);
51443 _errHandler.sync(this);
51444 _la = _input.LA(1);
51445 while (_la==COMMA_) {
51446 {
51447 {
51448 setState(6922);
51449 match(COMMA_);
51450 setState(6923);
51451 setOptionClause();
51452 }
51453 }
51454 setState(6928);
51455 _errHandler.sync(this);
51456 _la = _input.LA(1);
51457 }
51458 }
51459 break;
51460 case DROP:
51461 case ADD:
51462 {
51463 setState(6929);
51464 cryptographicCredentialsOptionClause();
51465 }
51466 break;
51467 default:
51468 throw new NoViableAltException(this);
51469 }
51470 }
51471 }
51472 catch (RecognitionException re) {
51473 _localctx.exception = re;
51474 _errHandler.reportError(this, re);
51475 _errHandler.recover(this, re);
51476 }
51477 finally {
51478 exitRule();
51479 }
51480 return _localctx;
51481 }
51482
51483 public static class StatusOptionClauseContext extends ParserRuleContext {
51484 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
51485 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
51486 public StatusOptionClauseContext(ParserRuleContext parent, int invokingState) {
51487 super(parent, invokingState);
51488 }
51489 @Override public int getRuleIndex() { return RULE_statusOptionClause; }
51490 @Override
51491 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51492 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatusOptionClause(this);
51493 else return visitor.visitChildren(this);
51494 }
51495 }
51496
51497 public final StatusOptionClauseContext statusOptionClause() throws RecognitionException {
51498 StatusOptionClauseContext _localctx = new StatusOptionClauseContext(_ctx, getState());
51499 enterRule(_localctx, 960, RULE_statusOptionClause);
51500 int _la;
51501 try {
51502 enterOuterAlt(_localctx, 1);
51503 {
51504 setState(6932);
51505 _la = _input.LA(1);
51506 if ( !(_la==ENABLE || _la==DISABLE) ) {
51507 _errHandler.recoverInline(this);
51508 }
51509 else {
51510 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51511 _errHandler.reportMatch(this);
51512 consume();
51513 }
51514 }
51515 }
51516 catch (RecognitionException re) {
51517 _localctx.exception = re;
51518 _errHandler.reportError(this, re);
51519 _errHandler.recover(this, re);
51520 }
51521 finally {
51522 exitRule();
51523 }
51524 return _localctx;
51525 }
51526
51527 public static class SetOptionClauseContext extends ParserRuleContext {
51528 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
51529 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
51530 public TerminalNode EQ_(int i) {
51531 return getToken(SQLServerStatementParser.EQ_, i);
51532 }
51533 public List<StringLiteralsContext> stringLiterals() {
51534 return getRuleContexts(StringLiteralsContext.class);
51535 }
51536 public StringLiteralsContext stringLiterals(int i) {
51537 return getRuleContext(StringLiteralsContext.class,i);
51538 }
51539 public HashedPasswordContext hashedPassword() {
51540 return getRuleContext(HashedPasswordContext.class,0);
51541 }
51542 public TerminalNode HASHED() { return getToken(SQLServerStatementParser.HASHED, 0); }
51543 public TerminalNode OLD_PASSWORD() { return getToken(SQLServerStatementParser.OLD_PASSWORD, 0); }
51544 public List<PasswordOptionClauseContext> passwordOptionClause() {
51545 return getRuleContexts(PasswordOptionClauseContext.class);
51546 }
51547 public PasswordOptionClauseContext passwordOptionClause(int i) {
51548 return getRuleContext(PasswordOptionClauseContext.class,i);
51549 }
51550 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
51551 public DatabaseNameContext databaseName() {
51552 return getRuleContext(DatabaseNameContext.class,0);
51553 }
51554 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
51555 public IdentifierContext identifier() {
51556 return getRuleContext(IdentifierContext.class,0);
51557 }
51558 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
51559 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
51560 return getRuleContext(IgnoredNameIdentifierContext.class,0);
51561 }
51562 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
51563 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
51564 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
51565 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
51566 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
51567 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
51568 public SetOptionClauseContext(ParserRuleContext parent, int invokingState) {
51569 super(parent, invokingState);
51570 }
51571 @Override public int getRuleIndex() { return RULE_setOptionClause; }
51572 @Override
51573 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51574 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetOptionClause(this);
51575 else return visitor.visitChildren(this);
51576 }
51577 }
51578
51579 public final SetOptionClauseContext setOptionClause() throws RecognitionException {
51580 SetOptionClauseContext _localctx = new SetOptionClauseContext(_ctx, getState());
51581 enterRule(_localctx, 962, RULE_setOptionClause);
51582 int _la;
51583 try {
51584 setState(6971);
51585 _errHandler.sync(this);
51586 switch (_input.LA(1)) {
51587 case PASSWORD:
51588 enterOuterAlt(_localctx, 1);
51589 {
51590 setState(6934);
51591 match(PASSWORD);
51592 setState(6935);
51593 match(EQ_);
51594 setState(6940);
51595 _errHandler.sync(this);
51596 switch (_input.LA(1)) {
51597 case STRING_:
51598 case NCHAR_TEXT:
51599 {
51600 setState(6936);
51601 stringLiterals();
51602 }
51603 break;
51604 case HEX_DIGIT_:
51605 {
51606 setState(6937);
51607 hashedPassword();
51608 setState(6938);
51609 match(HASHED);
51610 }
51611 break;
51612 default:
51613 throw new NoViableAltException(this);
51614 }
51615 setState(6949);
51616 _errHandler.sync(this);
51617 switch (_input.LA(1)) {
51618 case OLD_PASSWORD:
51619 {
51620 setState(6942);
51621 match(OLD_PASSWORD);
51622 setState(6943);
51623 match(EQ_);
51624 setState(6944);
51625 stringLiterals();
51626 }
51627 break;
51628 case MUST_CHANGE:
51629 case UNLOCK:
51630 {
51631 setState(6945);
51632 passwordOptionClause();
51633 setState(6947);
51634 _errHandler.sync(this);
51635 _la = _input.LA(1);
51636 if (_la==MUST_CHANGE || _la==UNLOCK) {
51637 {
51638 setState(6946);
51639 passwordOptionClause();
51640 }
51641 }
51642
51643 }
51644 break;
51645 case EOF:
51646 case COMMA_:
51647 case SEMI_:
51648 break;
51649 default:
51650 break;
51651 }
51652 }
51653 break;
51654 case DEFAULT_DATABASE:
51655 enterOuterAlt(_localctx, 2);
51656 {
51657 setState(6951);
51658 match(DEFAULT_DATABASE);
51659 setState(6952);
51660 match(EQ_);
51661 setState(6953);
51662 databaseName();
51663 }
51664 break;
51665 case DEFAULT_LANGUAGE:
51666 enterOuterAlt(_localctx, 3);
51667 {
51668 setState(6954);
51669 match(DEFAULT_LANGUAGE);
51670 setState(6955);
51671 match(EQ_);
51672 setState(6956);
51673 identifier();
51674 }
51675 break;
51676 case NAME:
51677 enterOuterAlt(_localctx, 4);
51678 {
51679 setState(6957);
51680 match(NAME);
51681 setState(6958);
51682 match(EQ_);
51683 setState(6959);
51684 ignoredNameIdentifier();
51685 }
51686 break;
51687 case CHECK_POLICY:
51688 enterOuterAlt(_localctx, 5);
51689 {
51690 setState(6960);
51691 match(CHECK_POLICY);
51692 setState(6961);
51693 match(EQ_);
51694 setState(6962);
51695 _la = _input.LA(1);
51696 if ( !(_la==ON || _la==OFF) ) {
51697 _errHandler.recoverInline(this);
51698 }
51699 else {
51700 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51701 _errHandler.reportMatch(this);
51702 consume();
51703 }
51704 }
51705 break;
51706 case CHECK_EXPIRATION:
51707 enterOuterAlt(_localctx, 6);
51708 {
51709 setState(6963);
51710 match(CHECK_EXPIRATION);
51711 setState(6964);
51712 match(EQ_);
51713 setState(6965);
51714 _la = _input.LA(1);
51715 if ( !(_la==ON || _la==OFF) ) {
51716 _errHandler.recoverInline(this);
51717 }
51718 else {
51719 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51720 _errHandler.reportMatch(this);
51721 consume();
51722 }
51723 }
51724 break;
51725 case CREDENTIAL:
51726 enterOuterAlt(_localctx, 7);
51727 {
51728 setState(6966);
51729 match(CREDENTIAL);
51730 setState(6967);
51731 match(EQ_);
51732 setState(6968);
51733 identifier();
51734 }
51735 break;
51736 case NO:
51737 enterOuterAlt(_localctx, 8);
51738 {
51739 setState(6969);
51740 match(NO);
51741 setState(6970);
51742 match(CREDENTIAL);
51743 }
51744 break;
51745 default:
51746 throw new NoViableAltException(this);
51747 }
51748 }
51749 catch (RecognitionException re) {
51750 _localctx.exception = re;
51751 _errHandler.reportError(this, re);
51752 _errHandler.recover(this, re);
51753 }
51754 finally {
51755 exitRule();
51756 }
51757 return _localctx;
51758 }
51759
51760 public static class PasswordOptionClauseContext extends ParserRuleContext {
51761 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
51762 public TerminalNode UNLOCK() { return getToken(SQLServerStatementParser.UNLOCK, 0); }
51763 public PasswordOptionClauseContext(ParserRuleContext parent, int invokingState) {
51764 super(parent, invokingState);
51765 }
51766 @Override public int getRuleIndex() { return RULE_passwordOptionClause; }
51767 @Override
51768 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51769 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPasswordOptionClause(this);
51770 else return visitor.visitChildren(this);
51771 }
51772 }
51773
51774 public final PasswordOptionClauseContext passwordOptionClause() throws RecognitionException {
51775 PasswordOptionClauseContext _localctx = new PasswordOptionClauseContext(_ctx, getState());
51776 enterRule(_localctx, 964, RULE_passwordOptionClause);
51777 int _la;
51778 try {
51779 enterOuterAlt(_localctx, 1);
51780 {
51781 setState(6973);
51782 _la = _input.LA(1);
51783 if ( !(_la==MUST_CHANGE || _la==UNLOCK) ) {
51784 _errHandler.recoverInline(this);
51785 }
51786 else {
51787 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51788 _errHandler.reportMatch(this);
51789 consume();
51790 }
51791 }
51792 }
51793 catch (RecognitionException re) {
51794 _localctx.exception = re;
51795 _errHandler.reportError(this, re);
51796 _errHandler.recover(this, re);
51797 }
51798 finally {
51799 exitRule();
51800 }
51801 return _localctx;
51802 }
51803
51804 public static class CryptographicCredentialsOptionClauseContext extends ParserRuleContext {
51805 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
51806 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
51807 public IdentifierContext identifier() {
51808 return getRuleContext(IdentifierContext.class,0);
51809 }
51810 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
51811 public CryptographicCredentialsOptionClauseContext(ParserRuleContext parent, int invokingState) {
51812 super(parent, invokingState);
51813 }
51814 @Override public int getRuleIndex() { return RULE_cryptographicCredentialsOptionClause; }
51815 @Override
51816 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51817 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCryptographicCredentialsOptionClause(this);
51818 else return visitor.visitChildren(this);
51819 }
51820 }
51821
51822 public final CryptographicCredentialsOptionClauseContext cryptographicCredentialsOptionClause() throws RecognitionException {
51823 CryptographicCredentialsOptionClauseContext _localctx = new CryptographicCredentialsOptionClauseContext(_ctx, getState());
51824 enterRule(_localctx, 966, RULE_cryptographicCredentialsOptionClause);
51825 try {
51826 setState(6981);
51827 _errHandler.sync(this);
51828 switch (_input.LA(1)) {
51829 case ADD:
51830 enterOuterAlt(_localctx, 1);
51831 {
51832 setState(6975);
51833 match(ADD);
51834 setState(6976);
51835 match(CREDENTIAL);
51836 setState(6977);
51837 identifier();
51838 }
51839 break;
51840 case DROP:
51841 enterOuterAlt(_localctx, 2);
51842 {
51843 setState(6978);
51844 match(DROP);
51845 setState(6979);
51846 match(CREDENTIAL);
51847 setState(6980);
51848 identifier();
51849 }
51850 break;
51851 default:
51852 throw new NoViableAltException(this);
51853 }
51854 }
51855 catch (RecognitionException re) {
51856 _localctx.exception = re;
51857 _errHandler.reportError(this, re);
51858 _errHandler.recover(this, re);
51859 }
51860 finally {
51861 exitRule();
51862 }
51863 return _localctx;
51864 }
51865
51866 public static class RevertContext extends ParserRuleContext {
51867 public TerminalNode REVERT() { return getToken(SQLServerStatementParser.REVERT, 0); }
51868 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51869 public TerminalNode COOKIE() { return getToken(SQLServerStatementParser.COOKIE, 0); }
51870 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
51871 public VariableNameContext variableName() {
51872 return getRuleContext(VariableNameContext.class,0);
51873 }
51874 public RevertContext(ParserRuleContext parent, int invokingState) {
51875 super(parent, invokingState);
51876 }
51877 @Override public int getRuleIndex() { return RULE_revert; }
51878 @Override
51879 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51880 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevert(this);
51881 else return visitor.visitChildren(this);
51882 }
51883 }
51884
51885 public final RevertContext revert() throws RecognitionException {
51886 RevertContext _localctx = new RevertContext(_ctx, getState());
51887 enterRule(_localctx, 968, RULE_revert);
51888 int _la;
51889 try {
51890 enterOuterAlt(_localctx, 1);
51891 {
51892 setState(6983);
51893 match(REVERT);
51894 setState(6988);
51895 _errHandler.sync(this);
51896 _la = _input.LA(1);
51897 if (_la==WITH) {
51898 {
51899 setState(6984);
51900 match(WITH);
51901 setState(6985);
51902 match(COOKIE);
51903 setState(6986);
51904 match(EQ_);
51905 setState(6987);
51906 variableName();
51907 }
51908 }
51909
51910 }
51911 }
51912 catch (RecognitionException re) {
51913 _localctx.exception = re;
51914 _errHandler.reportError(this, re);
51915 _errHandler.recover(this, re);
51916 }
51917 finally {
51918 exitRule();
51919 }
51920 return _localctx;
51921 }
51922
51923 public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
51924 switch (ruleIndex) {
51925 case 49:
51926 return expr_sempred((ExprContext)_localctx, predIndex);
51927 case 53:
51928 return booleanPrimary_sempred((BooleanPrimaryContext)_localctx, predIndex);
51929 case 56:
51930 return bitExpr_sempred((BitExprContext)_localctx, predIndex);
51931 case 57:
51932 return simpleExpr_sempred((SimpleExprContext)_localctx, predIndex);
51933 }
51934 return true;
51935 }
51936 private boolean expr_sempred(ExprContext _localctx, int predIndex) {
51937 switch (predIndex) {
51938 case 0:
51939 return precpred(_ctx, 5);
51940 case 1:
51941 return precpred(_ctx, 4);
51942 }
51943 return true;
51944 }
51945 private boolean booleanPrimary_sempred(BooleanPrimaryContext _localctx, int predIndex) {
51946 switch (predIndex) {
51947 case 2:
51948 return precpred(_ctx, 5);
51949 case 3:
51950 return precpred(_ctx, 4);
51951 case 4:
51952 return precpred(_ctx, 3);
51953 case 5:
51954 return precpred(_ctx, 2);
51955 }
51956 return true;
51957 }
51958 private boolean bitExpr_sempred(BitExprContext _localctx, int predIndex) {
51959 switch (predIndex) {
51960 case 6:
51961 return precpred(_ctx, 11);
51962 case 7:
51963 return precpred(_ctx, 10);
51964 case 8:
51965 return precpred(_ctx, 9);
51966 case 9:
51967 return precpred(_ctx, 8);
51968 case 10:
51969 return precpred(_ctx, 7);
51970 case 11:
51971 return precpred(_ctx, 6);
51972 case 12:
51973 return precpred(_ctx, 5);
51974 case 13:
51975 return precpred(_ctx, 4);
51976 case 14:
51977 return precpred(_ctx, 3);
51978 case 15:
51979 return precpred(_ctx, 2);
51980 }
51981 return true;
51982 }
51983 private boolean simpleExpr_sempred(SimpleExprContext _localctx, int predIndex) {
51984 switch (predIndex) {
51985 case 16:
51986 return precpred(_ctx, 7);
51987 }
51988 return true;
51989 }
51990
51991 private static final String _serializedATNSegment0 =
51992 "\u0004\u0001\u02be\u1b4f\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001"+
51993 "\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004"+
51994 "\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007"+
51995 "\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b"+
51996 "\u0002\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007"+
51997 "\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007"+
51998 "\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007"+
51999 "\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007"+
52000 "\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007"+
52001 "\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007"+
52002 "\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0002\"\u0007"+
52003 "\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007&\u0002\'\u0007"+
52004 "\'\u0002(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007+\u0002,\u0007"+
52005 ",\u0002-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u00070\u00021\u0007"+
52006 "1\u00022\u00072\u00023\u00073\u00024\u00074\u00025\u00075\u00026\u0007"+
52007 "6\u00027\u00077\u00028\u00078\u00029\u00079\u0002:\u0007:\u0002;\u0007"+
52008 ";\u0002<\u0007<\u0002=\u0007=\u0002>\u0007>\u0002?\u0007?\u0002@\u0007"+
52009 "@\u0002A\u0007A\u0002B\u0007B\u0002C\u0007C\u0002D\u0007D\u0002E\u0007"+
52010 "E\u0002F\u0007F\u0002G\u0007G\u0002H\u0007H\u0002I\u0007I\u0002J\u0007"+
52011 "J\u0002K\u0007K\u0002L\u0007L\u0002M\u0007M\u0002N\u0007N\u0002O\u0007"+
52012 "O\u0002P\u0007P\u0002Q\u0007Q\u0002R\u0007R\u0002S\u0007S\u0002T\u0007"+
52013 "T\u0002U\u0007U\u0002V\u0007V\u0002W\u0007W\u0002X\u0007X\u0002Y\u0007"+
52014 "Y\u0002Z\u0007Z\u0002[\u0007[\u0002\\\u0007\\\u0002]\u0007]\u0002^\u0007"+
52015 "^\u0002_\u0007_\u0002`\u0007`\u0002a\u0007a\u0002b\u0007b\u0002c\u0007"+
52016 "c\u0002d\u0007d\u0002e\u0007e\u0002f\u0007f\u0002g\u0007g\u0002h\u0007"+
52017 "h\u0002i\u0007i\u0002j\u0007j\u0002k\u0007k\u0002l\u0007l\u0002m\u0007"+
52018 "m\u0002n\u0007n\u0002o\u0007o\u0002p\u0007p\u0002q\u0007q\u0002r\u0007"+
52019 "r\u0002s\u0007s\u0002t\u0007t\u0002u\u0007u\u0002v\u0007v\u0002w\u0007"+
52020 "w\u0002x\u0007x\u0002y\u0007y\u0002z\u0007z\u0002{\u0007{\u0002|\u0007"+
52021 "|\u0002}\u0007}\u0002~\u0007~\u0002\u007f\u0007\u007f\u0002\u0080\u0007"+
52022 "\u0080\u0002\u0081\u0007\u0081\u0002\u0082\u0007\u0082\u0002\u0083\u0007"+
52023 "\u0083\u0002\u0084\u0007\u0084\u0002\u0085\u0007\u0085\u0002\u0086\u0007"+
52024 "\u0086\u0002\u0087\u0007\u0087\u0002\u0088\u0007\u0088\u0002\u0089\u0007"+
52025 "\u0089\u0002\u008a\u0007\u008a\u0002\u008b\u0007\u008b\u0002\u008c\u0007"+
52026 "\u008c\u0002\u008d\u0007\u008d\u0002\u008e\u0007\u008e\u0002\u008f\u0007"+
52027 "\u008f\u0002\u0090\u0007\u0090\u0002\u0091\u0007\u0091\u0002\u0092\u0007"+
52028 "\u0092\u0002\u0093\u0007\u0093\u0002\u0094\u0007\u0094\u0002\u0095\u0007"+
52029 "\u0095\u0002\u0096\u0007\u0096\u0002\u0097\u0007\u0097\u0002\u0098\u0007"+
52030 "\u0098\u0002\u0099\u0007\u0099\u0002\u009a\u0007\u009a\u0002\u009b\u0007"+
52031 "\u009b\u0002\u009c\u0007\u009c\u0002\u009d\u0007\u009d\u0002\u009e\u0007"+
52032 "\u009e\u0002\u009f\u0007\u009f\u0002\u00a0\u0007\u00a0\u0002\u00a1\u0007"+
52033 "\u00a1\u0002\u00a2\u0007\u00a2\u0002\u00a3\u0007\u00a3\u0002\u00a4\u0007"+
52034 "\u00a4\u0002\u00a5\u0007\u00a5\u0002\u00a6\u0007\u00a6\u0002\u00a7\u0007"+
52035 "\u00a7\u0002\u00a8\u0007\u00a8\u0002\u00a9\u0007\u00a9\u0002\u00aa\u0007"+
52036 "\u00aa\u0002\u00ab\u0007\u00ab\u0002\u00ac\u0007\u00ac\u0002\u00ad\u0007"+
52037 "\u00ad\u0002\u00ae\u0007\u00ae\u0002\u00af\u0007\u00af\u0002\u00b0\u0007"+
52038 "\u00b0\u0002\u00b1\u0007\u00b1\u0002\u00b2\u0007\u00b2\u0002\u00b3\u0007"+
52039 "\u00b3\u0002\u00b4\u0007\u00b4\u0002\u00b5\u0007\u00b5\u0002\u00b6\u0007"+
52040 "\u00b6\u0002\u00b7\u0007\u00b7\u0002\u00b8\u0007\u00b8\u0002\u00b9\u0007"+
52041 "\u00b9\u0002\u00ba\u0007\u00ba\u0002\u00bb\u0007\u00bb\u0002\u00bc\u0007"+
52042 "\u00bc\u0002\u00bd\u0007\u00bd\u0002\u00be\u0007\u00be\u0002\u00bf\u0007"+
52043 "\u00bf\u0002\u00c0\u0007\u00c0\u0002\u00c1\u0007\u00c1\u0002\u00c2\u0007"+
52044 "\u00c2\u0002\u00c3\u0007\u00c3\u0002\u00c4\u0007\u00c4\u0002\u00c5\u0007"+
52045 "\u00c5\u0002\u00c6\u0007\u00c6\u0002\u00c7\u0007\u00c7\u0002\u00c8\u0007"+
52046 "\u00c8\u0002\u00c9\u0007\u00c9\u0002\u00ca\u0007\u00ca\u0002\u00cb\u0007"+
52047 "\u00cb\u0002\u00cc\u0007\u00cc\u0002\u00cd\u0007\u00cd\u0002\u00ce\u0007"+
52048 "\u00ce\u0002\u00cf\u0007\u00cf\u0002\u00d0\u0007\u00d0\u0002\u00d1\u0007"+
52049 "\u00d1\u0002\u00d2\u0007\u00d2\u0002\u00d3\u0007\u00d3\u0002\u00d4\u0007"+
52050 "\u00d4\u0002\u00d5\u0007\u00d5\u0002\u00d6\u0007\u00d6\u0002\u00d7\u0007"+
52051 "\u00d7\u0002\u00d8\u0007\u00d8\u0002\u00d9\u0007\u00d9\u0002\u00da\u0007"+
52052 "\u00da\u0002\u00db\u0007\u00db\u0002\u00dc\u0007\u00dc\u0002\u00dd\u0007"+
52053 "\u00dd\u0002\u00de\u0007\u00de\u0002\u00df\u0007\u00df\u0002\u00e0\u0007"+
52054 "\u00e0\u0002\u00e1\u0007\u00e1\u0002\u00e2\u0007\u00e2\u0002\u00e3\u0007"+
52055 "\u00e3\u0002\u00e4\u0007\u00e4\u0002\u00e5\u0007\u00e5\u0002\u00e6\u0007"+
52056 "\u00e6\u0002\u00e7\u0007\u00e7\u0002\u00e8\u0007\u00e8\u0002\u00e9\u0007"+
52057 "\u00e9\u0002\u00ea\u0007\u00ea\u0002\u00eb\u0007\u00eb\u0002\u00ec\u0007"+
52058 "\u00ec\u0002\u00ed\u0007\u00ed\u0002\u00ee\u0007\u00ee\u0002\u00ef\u0007"+
52059 "\u00ef\u0002\u00f0\u0007\u00f0\u0002\u00f1\u0007\u00f1\u0002\u00f2\u0007"+
52060 "\u00f2\u0002\u00f3\u0007\u00f3\u0002\u00f4\u0007\u00f4\u0002\u00f5\u0007"+
52061 "\u00f5\u0002\u00f6\u0007\u00f6\u0002\u00f7\u0007\u00f7\u0002\u00f8\u0007"+
52062 "\u00f8\u0002\u00f9\u0007\u00f9\u0002\u00fa\u0007\u00fa\u0002\u00fb\u0007"+
52063 "\u00fb\u0002\u00fc\u0007\u00fc\u0002\u00fd\u0007\u00fd\u0002\u00fe\u0007"+
52064 "\u00fe\u0002\u00ff\u0007\u00ff\u0002\u0100\u0007\u0100\u0002\u0101\u0007"+
52065 "\u0101\u0002\u0102\u0007\u0102\u0002\u0103\u0007\u0103\u0002\u0104\u0007"+
52066 "\u0104\u0002\u0105\u0007\u0105\u0002\u0106\u0007\u0106\u0002\u0107\u0007"+
52067 "\u0107\u0002\u0108\u0007\u0108\u0002\u0109\u0007\u0109\u0002\u010a\u0007"+
52068 "\u010a\u0002\u010b\u0007\u010b\u0002\u010c\u0007\u010c\u0002\u010d\u0007"+
52069 "\u010d\u0002\u010e\u0007\u010e\u0002\u010f\u0007\u010f\u0002\u0110\u0007"+
52070 "\u0110\u0002\u0111\u0007\u0111\u0002\u0112\u0007\u0112\u0002\u0113\u0007"+
52071 "\u0113\u0002\u0114\u0007\u0114\u0002\u0115\u0007\u0115\u0002\u0116\u0007"+
52072 "\u0116\u0002\u0117\u0007\u0117\u0002\u0118\u0007\u0118\u0002\u0119\u0007"+
52073 "\u0119\u0002\u011a\u0007\u011a\u0002\u011b\u0007\u011b\u0002\u011c\u0007"+
52074 "\u011c\u0002\u011d\u0007\u011d\u0002\u011e\u0007\u011e\u0002\u011f\u0007"+
52075 "\u011f\u0002\u0120\u0007\u0120\u0002\u0121\u0007\u0121\u0002\u0122\u0007"+
52076 "\u0122\u0002\u0123\u0007\u0123\u0002\u0124\u0007\u0124\u0002\u0125\u0007"+
52077 "\u0125\u0002\u0126\u0007\u0126\u0002\u0127\u0007\u0127\u0002\u0128\u0007"+
52078 "\u0128\u0002\u0129\u0007\u0129\u0002\u012a\u0007\u012a\u0002\u012b\u0007"+
52079 "\u012b\u0002\u012c\u0007\u012c\u0002\u012d\u0007\u012d\u0002\u012e\u0007"+
52080 "\u012e\u0002\u012f\u0007\u012f\u0002\u0130\u0007\u0130\u0002\u0131\u0007"+
52081 "\u0131\u0002\u0132\u0007\u0132\u0002\u0133\u0007\u0133\u0002\u0134\u0007"+
52082 "\u0134\u0002\u0135\u0007\u0135\u0002\u0136\u0007\u0136\u0002\u0137\u0007"+
52083 "\u0137\u0002\u0138\u0007\u0138\u0002\u0139\u0007\u0139\u0002\u013a\u0007"+
52084 "\u013a\u0002\u013b\u0007\u013b\u0002\u013c\u0007\u013c\u0002\u013d\u0007"+
52085 "\u013d\u0002\u013e\u0007\u013e\u0002\u013f\u0007\u013f\u0002\u0140\u0007"+
52086 "\u0140\u0002\u0141\u0007\u0141\u0002\u0142\u0007\u0142\u0002\u0143\u0007"+
52087 "\u0143\u0002\u0144\u0007\u0144\u0002\u0145\u0007\u0145\u0002\u0146\u0007"+
52088 "\u0146\u0002\u0147\u0007\u0147\u0002\u0148\u0007\u0148\u0002\u0149\u0007"+
52089 "\u0149\u0002\u014a\u0007\u014a\u0002\u014b\u0007\u014b\u0002\u014c\u0007"+
52090 "\u014c\u0002\u014d\u0007\u014d\u0002\u014e\u0007\u014e\u0002\u014f\u0007"+
52091 "\u014f\u0002\u0150\u0007\u0150\u0002\u0151\u0007\u0151\u0002\u0152\u0007"+
52092 "\u0152\u0002\u0153\u0007\u0153\u0002\u0154\u0007\u0154\u0002\u0155\u0007"+
52093 "\u0155\u0002\u0156\u0007\u0156\u0002\u0157\u0007\u0157\u0002\u0158\u0007"+
52094 "\u0158\u0002\u0159\u0007\u0159\u0002\u015a\u0007\u015a\u0002\u015b\u0007"+
52095 "\u015b\u0002\u015c\u0007\u015c\u0002\u015d\u0007\u015d\u0002\u015e\u0007"+
52096 "\u015e\u0002\u015f\u0007\u015f\u0002\u0160\u0007\u0160\u0002\u0161\u0007"+
52097 "\u0161\u0002\u0162\u0007\u0162\u0002\u0163\u0007\u0163\u0002\u0164\u0007"+
52098 "\u0164\u0002\u0165\u0007\u0165\u0002\u0166\u0007\u0166\u0002\u0167\u0007"+
52099 "\u0167\u0002\u0168\u0007\u0168\u0002\u0169\u0007\u0169\u0002\u016a\u0007"+
52100 "\u016a\u0002\u016b\u0007\u016b\u0002\u016c\u0007\u016c\u0002\u016d\u0007"+
52101 "\u016d\u0002\u016e\u0007\u016e\u0002\u016f\u0007\u016f\u0002\u0170\u0007"+
52102 "\u0170\u0002\u0171\u0007\u0171\u0002\u0172\u0007\u0172\u0002\u0173\u0007"+
52103 "\u0173\u0002\u0174\u0007\u0174\u0002\u0175\u0007\u0175\u0002\u0176\u0007"+
52104 "\u0176\u0002\u0177\u0007\u0177\u0002\u0178\u0007\u0178\u0002\u0179\u0007"+
52105 "\u0179\u0002\u017a\u0007\u017a\u0002\u017b\u0007\u017b\u0002\u017c\u0007"+
52106 "\u017c\u0002\u017d\u0007\u017d\u0002\u017e\u0007\u017e\u0002\u017f\u0007"+
52107 "\u017f\u0002\u0180\u0007\u0180\u0002\u0181\u0007\u0181\u0002\u0182\u0007"+
52108 "\u0182\u0002\u0183\u0007\u0183\u0002\u0184\u0007\u0184\u0002\u0185\u0007"+
52109 "\u0185\u0002\u0186\u0007\u0186\u0002\u0187\u0007\u0187\u0002\u0188\u0007"+
52110 "\u0188\u0002\u0189\u0007\u0189\u0002\u018a\u0007\u018a\u0002\u018b\u0007"+
52111 "\u018b\u0002\u018c\u0007\u018c\u0002\u018d\u0007\u018d\u0002\u018e\u0007"+
52112 "\u018e\u0002\u018f\u0007\u018f\u0002\u0190\u0007\u0190\u0002\u0191\u0007"+
52113 "\u0191\u0002\u0192\u0007\u0192\u0002\u0193\u0007\u0193\u0002\u0194\u0007"+
52114 "\u0194\u0002\u0195\u0007\u0195\u0002\u0196\u0007\u0196\u0002\u0197\u0007"+
52115 "\u0197\u0002\u0198\u0007\u0198\u0002\u0199\u0007\u0199\u0002\u019a\u0007"+
52116 "\u019a\u0002\u019b\u0007\u019b\u0002\u019c\u0007\u019c\u0002\u019d\u0007"+
52117 "\u019d\u0002\u019e\u0007\u019e\u0002\u019f\u0007\u019f\u0002\u01a0\u0007"+
52118 "\u01a0\u0002\u01a1\u0007\u01a1\u0002\u01a2\u0007\u01a2\u0002\u01a3\u0007"+
52119 "\u01a3\u0002\u01a4\u0007\u01a4\u0002\u01a5\u0007\u01a5\u0002\u01a6\u0007"+
52120 "\u01a6\u0002\u01a7\u0007\u01a7\u0002\u01a8\u0007\u01a8\u0002\u01a9\u0007"+
52121 "\u01a9\u0002\u01aa\u0007\u01aa\u0002\u01ab\u0007\u01ab\u0002\u01ac\u0007"+
52122 "\u01ac\u0002\u01ad\u0007\u01ad\u0002\u01ae\u0007\u01ae\u0002\u01af\u0007"+
52123 "\u01af\u0002\u01b0\u0007\u01b0\u0002\u01b1\u0007\u01b1\u0002\u01b2\u0007"+
52124 "\u01b2\u0002\u01b3\u0007\u01b3\u0002\u01b4\u0007\u01b4\u0002\u01b5\u0007"+
52125 "\u01b5\u0002\u01b6\u0007\u01b6\u0002\u01b7\u0007\u01b7\u0002\u01b8\u0007"+
52126 "\u01b8\u0002\u01b9\u0007\u01b9\u0002\u01ba\u0007\u01ba\u0002\u01bb\u0007"+
52127 "\u01bb\u0002\u01bc\u0007\u01bc\u0002\u01bd\u0007\u01bd\u0002\u01be\u0007"+
52128 "\u01be\u0002\u01bf\u0007\u01bf\u0002\u01c0\u0007\u01c0\u0002\u01c1\u0007"+
52129 "\u01c1\u0002\u01c2\u0007\u01c2\u0002\u01c3\u0007\u01c3\u0002\u01c4\u0007"+
52130 "\u01c4\u0002\u01c5\u0007\u01c5\u0002\u01c6\u0007\u01c6\u0002\u01c7\u0007"+
52131 "\u01c7\u0002\u01c8\u0007\u01c8\u0002\u01c9\u0007\u01c9\u0002\u01ca\u0007"+
52132 "\u01ca\u0002\u01cb\u0007\u01cb\u0002\u01cc\u0007\u01cc\u0002\u01cd\u0007"+
52133 "\u01cd\u0002\u01ce\u0007\u01ce\u0002\u01cf\u0007\u01cf\u0002\u01d0\u0007"+
52134 "\u01d0\u0002\u01d1\u0007\u01d1\u0002\u01d2\u0007\u01d2\u0002\u01d3\u0007"+
52135 "\u01d3\u0002\u01d4\u0007\u01d4\u0002\u01d5\u0007\u01d5\u0002\u01d6\u0007"+
52136 "\u01d6\u0002\u01d7\u0007\u01d7\u0002\u01d8\u0007\u01d8\u0002\u01d9\u0007"+
52137 "\u01d9\u0002\u01da\u0007\u01da\u0002\u01db\u0007\u01db\u0002\u01dc\u0007"+
52138 "\u01dc\u0002\u01dd\u0007\u01dd\u0002\u01de\u0007\u01de\u0002\u01df\u0007"+
52139 "\u01df\u0002\u01e0\u0007\u01e0\u0002\u01e1\u0007\u01e1\u0002\u01e2\u0007"+
52140 "\u01e2\u0002\u01e3\u0007\u01e3\u0002\u01e4\u0007\u01e4\u0001\u0000\u0001"+
52141 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52142 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52143 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52144 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52145 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52146 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52147 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52148 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52149 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52150 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0003\u0000\u0406\b\u0000\u0001"+
52151 "\u0000\u0003\u0000\u0409\b\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
52152 "\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0002\u0001\u0002\u0001"+
52153 "\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0003\u0002\u0419"+
52154 "\b\u0002\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0004\u0001"+
52155 "\u0004\u0001\u0005\u0001\u0005\u0001\u0005\u0001\u0005\u0003\u0005\u0425"+
52156 "\b\u0005\u0001\u0005\u0001\u0005\u0001\u0005\u0001\u0005\u0003\u0005\u042b"+
52157 "\b\u0005\u0003\u0005\u042d\b\u0005\u0003\u0005\u042f\b\u0005\u0001\u0006"+
52158 "\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0003\u0006\u0436\b\u0006"+
52159 "\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0003\u0007\u043c\b\u0007"+
52160 "\u0003\u0007\u043e\b\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007"+
52161 "\u0001\u0007\u0001\u0007\u0003\u0007\u0446\b\u0007\u0001\b\u0001\b\u0003"+
52162 "\b\u044a\b\b\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0003\t\u0452"+
52163 "\b\t\u0001\n\u0001\n\u0003\n\u0456\b\n\u0001\u000b\u0001\u000b\u0001\u000b"+
52164 "\u0001\u000b\u0003\u000b\u045c\b\u000b\u0001\f\u0001\f\u0001\r\u0001\r"+
52165 "\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0003\r\u0467\b\r\u0001\u000e"+
52166 "\u0001\u000e\u0001\u000f\u0003\u000f\u046c\b\u000f\u0001\u000f\u0001\u000f"+
52167 "\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010"+
52168 "\u0001\u0010\u0003\u0010\u0477\b\u0010\u0001\u0011\u0001\u0011\u0001\u0012"+
52169 "\u0001\u0012\u0001\u0013\u0001\u0013\u0001\u0014\u0001\u0014\u0001\u0015"+
52170 "\u0001\u0015\u0003\u0015\u0483\b\u0015\u0001\u0016\u0001\u0016\u0003\u0016"+
52171 "\u0487\b\u0016\u0001\u0017\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0019"+
52172 "\u0001\u0019\u0001\u001a\u0001\u001a\u0001\u001b\u0001\u001b\u0001\u001b"+
52173 "\u0003\u001b\u0494\b\u001b\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c"+
52174 "\u0001\u001c\u0003\u001c\u049b\b\u001c\u0001\u001c\u0001\u001c\u0001\u001c"+
52175 "\u0003\u001c\u04a0\b\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0003\u001d"+
52176 "\u04a5\b\u001d\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001\u001e"+
52177 "\u0003\u001e\u04ac\b\u001e\u0001\u001e\u0001\u001e\u0001\u001f\u0001\u001f"+
52178 "\u0001\u001f\u0003\u001f\u04b3\b\u001f\u0001\u001f\u0001\u001f\u0001 "+
52179 "\u0001 \u0001 \u0001 \u0001 \u0003 \u04bc\b \u0001 \u0001 \u0001 \u0003"+
52180 " \u04c1\b \u0003 \u04c3\b \u0001 \u0001 \u0001!\u0001!\u0001!\u0003!\u04ca"+
52181 "\b!\u0001!\u0001!\u0001\"\u0001\"\u0001#\u0001#\u0001$\u0001$\u0001$\u0003"+
52182 "$\u04d5\b$\u0001$\u0001$\u0003$\u04d9\b$\u0001%\u0001%\u0001%\u0001%\u0001"+
52183 "%\u0001&\u0001&\u0001\'\u0001\'\u0001(\u0001(\u0001(\u0001(\u0005(\u04e8"+
52184 "\b(\n(\f(\u04eb\t(\u0001(\u0001(\u0001)\u0001)\u0001)\u0001)\u0005)\u04f3"+
52185 "\b)\n)\f)\u04f6\t)\u0001)\u0001)\u0001*\u0003*\u04fb\b*\u0001*\u0001*"+
52186 "\u0001*\u0005*\u0500\b*\n*\f*\u0503\t*\u0001*\u0003*\u0506\b*\u0001+\u0001"+
52187 "+\u0001,\u0001,\u0001-\u0001-\u0001.\u0001.\u0003.\u0510\b.\u0001/\u0001"+
52188 "/\u0001/\u0001/\u0003/\u0516\b/\u0003/\u0518\b/\u0001/\u0001/\u00010\u0003"+
52189 "0\u051d\b0\u00010\u00010\u00011\u00011\u00011\u00011\u00011\u00011\u0001"+
52190 "1\u00011\u00011\u00031\u052a\b1\u00011\u00011\u00011\u00011\u00011\u0001"+
52191 "1\u00011\u00011\u00051\u0534\b1\n1\f1\u0537\t1\u00012\u00012\u00013\u0001"+
52192 "3\u00014\u00014\u00015\u00015\u00015\u00015\u00015\u00015\u00035\u0545"+
52193 "\b5\u00015\u00015\u00015\u00015\u00015\u00015\u00015\u00015\u00015\u0001"+
52194 "5\u00015\u00015\u00015\u00055\u0554\b5\n5\f5\u0557\t5\u00016\u00016\u0001"+
52195 "7\u00017\u00037\u055d\b7\u00017\u00017\u00017\u00017\u00017\u00037\u0564"+
52196 "\b7\u00017\u00017\u00017\u00017\u00017\u00057\u056b\b7\n7\f7\u056e\t7"+
52197 "\u00017\u00017\u00017\u00017\u00037\u0574\b7\u00017\u00017\u00017\u0001"+
52198 "7\u00017\u00017\u00017\u00037\u057d\b7\u00017\u00017\u00017\u00017\u0003"+
52199 "7\u0583\b7\u00017\u00037\u0586\b7\u00018\u00018\u00018\u00018\u00018\u0001"+
52200 "8\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u0001"+
52201 "8\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u0001"+
52202 "8\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u00058\u05a9\b8\n8"+
52203 "\f8\u05ac\t8\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u0001"+
52204 "9\u00039\u05b7\b9\u00019\u00019\u00019\u00019\u00059\u05bd\b9\n9\f9\u05c0"+
52205 "\t9\u00019\u00019\u00019\u00039\u05c5\b9\u00019\u00019\u00019\u00019\u0001"+
52206 "9\u00019\u00019\u00019\u00039\u05cf\b9\u00019\u00019\u00019\u00059\u05d4"+
52207 "\b9\n9\f9\u05d7\t9\u0001:\u0001:\u0001:\u0003:\u05dc\b:\u0001;\u0001;"+
52208 "\u0001;\u0003;\u05e1\b;\u0001;\u0001;\u0001;\u0005;\u05e6\b;\n;\f;\u05e9"+
52209 "\t;\u0001;\u0003;\u05ec\b;\u0001;\u0001;\u0001<\u0001<\u0001=\u0001=\u0001"+
52210 ">\u0001>\u0001>\u0003>\u05f7\b>\u0001?\u0001?\u0001?\u0001?\u0001?\u0001"+
52211 "?\u0001?\u0001@\u0001@\u0001@\u0001@\u0001@\u0001@\u0001@\u0003@\u0607"+
52212 "\b@\u0001@\u0001@\u0001A\u0001A\u0001A\u0001A\u0001A\u0005A\u0610\bA\n"+
52213 "A\fA\u0613\tA\u0001A\u0001A\u0003A\u0617\bA\u0001A\u0001A\u0001B\u0001"+
52214 "B\u0001B\u0001B\u0001B\u0005B\u0620\bB\nB\fB\u0623\tB\u0001B\u0003B\u0626"+
52215 "\bB\u0001B\u0001B\u0001C\u0001C\u0001C\u0003C\u062d\bC\u0001C\u0001C\u0001"+
52216 "C\u0001C\u0001C\u0003C\u0634\bC\u0001D\u0001D\u0003D\u0638\bD\u0001D\u0004"+
52217 "D\u063b\bD\u000bD\fD\u063c\u0001D\u0003D\u0640\bD\u0001D\u0001D\u0001"+
52218 "E\u0001E\u0001E\u0001E\u0001E\u0001F\u0001F\u0001F\u0001G\u0001G\u0001"+
52219 "G\u0001G\u0003G\u0650\bG\u0001H\u0001H\u0001H\u0001H\u0001H\u0005H\u0657"+
52220 "\bH\nH\fH\u065a\tH\u0001H\u0001H\u0001H\u0001H\u0001H\u0001H\u0001H\u0001"+
52221 "H\u0001H\u0003H\u0665\bH\u0003H\u0667\bH\u0001I\u0001I\u0001I\u0003I\u066c"+
52222 "\bI\u0001I\u0001I\u0003I\u0670\bI\u0001I\u0003I\u0673\bI\u0001J\u0001"+
52223 "J\u0001J\u0003J\u0678\bJ\u0001J\u0001J\u0001J\u0001J\u0001J\u0001J\u0001"+
52224 "J\u0003J\u0681\bJ\u0001J\u0001J\u0001J\u0003J\u0686\bJ\u0001K\u0001K\u0001"+
52225 "L\u0001L\u0001L\u0001L\u0003L\u068e\bL\u0001L\u0001L\u0001M\u0001M\u0001"+
52226 "M\u0001M\u0001M\u0001M\u0001M\u0001M\u0003M\u069a\bM\u0001M\u0001M\u0001"+
52227 "N\u0001N\u0001N\u0001N\u0001N\u0003N\u06a3\bN\u0001N\u0001N\u0001N\u0001"+
52228 "N\u0003N\u06a9\bN\u0001O\u0001O\u0001O\u0001P\u0001P\u0001P\u0003P\u06b1"+
52229 "\bP\u0001P\u0003P\u06b4\bP\u0001P\u0003P\u06b7\bP\u0001P\u0001P\u0001"+
52230 "Q\u0001Q\u0001Q\u0001Q\u0001Q\u0005Q\u06c0\bQ\nQ\fQ\u06c3\tQ\u0001R\u0001"+
52231 "R\u0001R\u0001S\u0001S\u0003S\u06ca\bS\u0001T\u0001T\u0001T\u0001T\u0001"+
52232 "T\u0001U\u0001U\u0003U\u06d3\bU\u0001V\u0001V\u0001V\u0001V\u0001V\u0001"+
52233 "V\u0003V\u06db\bV\u0001W\u0001W\u0001W\u0001W\u0001W\u0001W\u0003W\u06e3"+
52234 "\bW\u0001X\u0001X\u0003X\u06e7\bX\u0001Y\u0001Y\u0001Y\u0001Y\u0001Y\u0001"+
52235 "Y\u0001Y\u0001Y\u0001Y\u0001Y\u0001Y\u0003Y\u06f4\bY\u0003Y\u06f6\bY\u0001"+
52236 "Z\u0001Z\u0001Z\u0001Z\u0001[\u0001[\u0001[\u0003[\u06ff\b[\u0001\\\u0001"+
52237 "\\\u0001\\\u0001]\u0001]\u0001^\u0001^\u0001^\u0001_\u0001_\u0001_\u0001"+
52238 "_\u0001_\u0001_\u0001`\u0001`\u0001`\u0005`\u0712\b`\n`\f`\u0715\t`\u0001"+
52239 "a\u0001a\u0003a\u0719\ba\u0001b\u0001b\u0001b\u0001b\u0001c\u0001c\u0001"+
52240 "c\u0001c\u0001c\u0001c\u0003c\u0725\bc\u0001c\u0001c\u0001c\u0001c\u0001"+
52241 "c\u0001c\u0001d\u0001d\u0001d\u0001d\u0001d\u0003d\u0732\bd\u0001e\u0001"+
52242 "e\u0001f\u0001f\u0001f\u0005f\u0739\bf\nf\ff\u073c\tf\u0001g\u0001g\u0001"+
52243 "h\u0001h\u0001i\u0001i\u0001i\u0001i\u0001i\u0001i\u0003i\u0748\bi\u0001"+
52244 "j\u0001j\u0001k\u0001k\u0001l\u0001l\u0001m\u0001m\u0001n\u0001n\u0001"+
52245 "o\u0001o\u0001o\u0001p\u0001p\u0001q\u0001q\u0003q\u075b\bq\u0001q\u0001"+
52246 "q\u0001r\u0001r\u0001r\u0001r\u0001r\u0003r\u0764\br\u0001s\u0001s\u0003"+
52247 "s\u0768\bs\u0001t\u0001t\u0001t\u0001t\u0001t\u0001t\u0001u\u0001u\u0001"+
52248 "u\u0001u\u0001u\u0001u\u0001u\u0001u\u0001u\u0001v\u0001v\u0001v\u0001"+
52249 "v\u0001v\u0001w\u0001w\u0001w\u0003w\u0781\bw\u0001w\u0001w\u0001w\u0001"+
52250 "w\u0001w\u0001x\u0001x\u0001x\u0003x\u078b\bx\u0001x\u0001x\u0001x\u0001"+
52251 "x\u0001x\u0001y\u0001y\u0001y\u0003y\u0795\by\u0001y\u0001y\u0001y\u0001"+
52252 "y\u0001z\u0001z\u0001z\u0003z\u079e\bz\u0001z\u0001z\u0001z\u0001z\u0001"+
52253 "z\u0001z\u0001{\u0001{\u0001{\u0001{\u0005{\u07aa\b{\n{\f{\u07ad\t{\u0001"+
52254 "|\u0001|\u0001|\u0001|\u0001|\u0003|\u07b4\b|\u0001|\u0001|\u0001|\u0001"+
52255 "|\u0003|\u07ba\b|\u0001}\u0001}\u0001}\u0001}\u0005}\u07c0\b}\n}\f}\u07c3"+
52256 "\t}\u0001~\u0001~\u0001~\u0001~\u0001~\u0001~\u0005~\u07cb\b~\n~\f~\u07ce"+
52257 "\t~\u0001\u007f\u0001\u007f\u0001\u007f\u0001\u007f\u0003\u007f\u07d4"+
52258 "\b\u007f\u0001\u007f\u0001\u007f\u0001\u007f\u0001\u007f\u0001\u0080\u0001"+
52259 "\u0080\u0001\u0080\u0001\u0080\u0003\u0080\u07de\b\u0080\u0001\u0080\u0005"+
52260 "\u0080\u07e1\b\u0080\n\u0080\f\u0080\u07e4\t\u0080\u0001\u0081\u0001\u0081"+
52261 "\u0001\u0081\u0001\u0081\u0001\u0081\u0001\u0081\u0001\u0082\u0001\u0082"+
52262 "\u0001\u0082\u0001\u0082\u0001\u0082\u0001\u0082\u0001\u0083\u0001\u0083"+
52263 "\u0001\u0083\u0001\u0083\u0001\u0083\u0001\u0084\u0001\u0084\u0001\u0084"+
52264 "\u0001\u0084\u0001\u0084\u0001\u0084\u0001\u0084\u0001\u0085\u0001\u0085"+
52265 "\u0001\u0085\u0001\u0085\u0005\u0085\u0802\b\u0085\n\u0085\f\u0085\u0805"+
52266 "\t\u0085\u0001\u0086\u0001\u0086\u0001\u0086\u0001\u0086\u0001\u0086\u0001"+
52267 "\u0086\u0003\u0086\u080d\b\u0086\u0001\u0086\u0003\u0086\u0810\b\u0086"+
52268 "\u0001\u0087\u0001\u0087\u0001\u0087\u0001\u0087\u0001\u0087\u0003\u0087"+
52269 "\u0817\b\u0087\u0001\u0087\u0001\u0087\u0001\u0088\u0001\u0088\u0001\u0088"+
52270 "\u0003\u0088\u081e\b\u0088\u0001\u0088\u0001\u0088\u0001\u0089\u0001\u0089"+
52271 "\u0001\u0089\u0003\u0089\u0825\b\u0089\u0001\u0089\u0001\u0089\u0001\u0089"+
52272 "\u0001\u0089\u0001\u008a\u0001\u008a\u0001\u008a\u0003\u008a\u082e\b\u008a"+
52273 "\u0001\u008a\u0001\u008a\u0001\u008a\u0005\u008a\u0833\b\u008a\n\u008a"+
52274 "\f\u008a\u0836\t\u008a\u0001\u008b\u0001\u008b\u0001\u008b\u0003\u008b"+
52275 "\u083b\b\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0005\u008b\u0840\b"+
52276 "\u008b\n\u008b\f\u008b\u0843\t\u008b\u0001\u008c\u0001\u008c\u0001\u008c"+
52277 "\u0003\u008c\u0848\b\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0005\u008c"+
52278 "\u084d\b\u008c\n\u008c\f\u008c\u0850\t\u008c\u0001\u008d\u0001\u008d\u0001"+
52279 "\u008d\u0003\u008d\u0855\b\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0005"+
52280 "\u008d\u085a\b\u008d\n\u008d\f\u008d\u085d\t\u008d\u0001\u008e\u0001\u008e"+
52281 "\u0001\u008e\u0003\u008e\u0862\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
52282 "\u0005\u008e\u0867\b\u008e\n\u008e\f\u008e\u086a\t\u008e\u0001\u008e\u0001"+
52283 "\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0870\b\u008e\u0003\u008e\u0872"+
52284 "\b\u008e\u0001\u008f\u0001\u008f\u0001\u008f\u0003\u008f\u0877\b\u008f"+
52285 "\u0001\u008f\u0001\u008f\u0001\u008f\u0005\u008f\u087c\b\u008f\n\u008f"+
52286 "\f\u008f\u087f\t\u008f\u0001\u0090\u0001\u0090\u0001\u0090\u0001\u0090"+
52287 "\u0001\u0091\u0001\u0091\u0001\u0091\u0003\u0091\u0888\b\u0091\u0001\u0091"+
52288 "\u0001\u0091\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0093"+
52289 "\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0894\b\u0093\u0001\u0093"+
52290 "\u0001\u0093\u0001\u0093\u0005\u0093\u0899\b\u0093\n\u0093\f\u0093\u089c"+
52291 "\t\u0093\u0001\u0093\u0003\u0093\u089f\b\u0093\u0003\u0093\u08a1\b\u0093"+
52292 "\u0001\u0093\u0003\u0093\u08a4\b\u0093\u0001\u0094\u0001\u0094\u0003\u0094"+
52293 "\u08a8\b\u0094\u0001\u0094\u0003\u0094\u08ab\b\u0094\u0001\u0095\u0001"+
52294 "\u0095\u0001\u0095\u0001\u0095\u0003\u0095\u08b1\b\u0095\u0001\u0095\u0001"+
52295 "\u0095\u0001\u0095\u0003\u0095\u08b6\b\u0095\u0001\u0095\u0001\u0095\u0001"+
52296 "\u0095\u0001\u0095\u0001\u0095\u0001\u0095\u0001\u0095\u0005\u0095\u08bf"+
52297 "\b\u0095\n\u0095\f\u0095\u08c2\t\u0095\u0001\u0095\u0003\u0095\u08c5\b"+
52298 "\u0095\u0003\u0095\u08c7\b\u0095\u0001\u0096\u0003\u0096\u08ca\b\u0096"+
52299 "\u0001\u0096\u0004\u0096\u08cd\b\u0096\u000b\u0096\f\u0096\u08ce\u0001"+
52300 "\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001"+
52301 "\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001"+
52302 "\u0097\u0003\u0097\u08de\b\u0097\u0001\u0098\u0001\u0098\u0003\u0098\u08e2"+
52303 "\b\u0098\u0001\u0099\u0001\u0099\u0001\u0099\u0001\u0099\u0001\u009a\u0001"+
52304 "\u009a\u0001\u009a\u0001\u009a\u0005\u009a\u08ec\b\u009a\n\u009a\f\u009a"+
52305 "\u08ef\t\u009a\u0001\u009a\u0001\u009a\u0003\u009a\u08f3\b\u009a\u0001"+
52306 "\u009a\u0001\u009a\u0001\u009b\u0001\u009b\u0001\u009b\u0001\u009b\u0001"+
52307 "\u009b\u0003\u009b\u08fc\b\u009b\u0001\u009c\u0001\u009c\u0001\u009c\u0005"+
52308 "\u009c\u0901\b\u009c\n\u009c\f\u009c\u0904\t\u009c\u0001\u009c\u0001\u009c"+
52309 "\u0003\u009c\u0908\b\u009c\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d"+
52310 "\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d"+
52311 "\u0001\u009d\u0001\u009d\u0001\u009d\u0003\u009d\u0917\b\u009d\u0001\u009d"+
52312 "\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d"+
52313 "\u0001\u009d\u0003\u009d\u0921\b\u009d\u0001\u009d\u0001\u009d\u0001\u009d"+
52314 "\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d"+
52315 "\u0003\u009d\u092c\b\u009d\u0001\u009d\u0003\u009d\u092f\b\u009d\u0001"+
52316 "\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001"+
52317 "\u009d\u0001\u009d\u0005\u009d\u0939\b\u009d\n\u009d\f\u009d\u093c\t\u009d"+
52318 "\u0001\u009d\u0003\u009d\u093f\b\u009d\u0001\u009e\u0001\u009e\u0001\u009e"+
52319 "\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e"+
52320 "\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009f"+
52321 "\u0001\u009f\u0003\u009f\u0951\b\u009f\u0001\u009f\u0001\u009f\u0001\u009f"+
52322 "\u0003\u009f\u0956\b\u009f\u0001\u00a0\u0001\u00a0\u0003\u00a0\u095a\b"+
52323 "\u00a0\u0001\u00a0\u0001\u00a0\u0001\u00a0\u0003\u00a0\u095f\b\u00a0\u0001"+
52324 "\u00a1\u0001\u00a1\u0003\u00a1\u0963\b\u00a1\u0001\u00a1\u0001\u00a1\u0001"+
52325 "\u00a1\u0001\u00a1\u0001\u00a1\u0003\u00a1\u096a\b\u00a1\u0001\u00a1\u0005"+
52326 "\u00a1\u096d\b\u00a1\n\u00a1\f\u00a1\u0970\t\u00a1\u0001\u00a2\u0001\u00a2"+
52327 "\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0003\u00a2\u0977\b\u00a2\u0001\u00a2"+
52328 "\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2"+
52329 "\u0003\u00a2\u0980\b\u00a2\u0001\u00a3\u0001\u00a3\u0003\u00a3\u0984\b"+
52330 "\u00a3\u0001\u00a3\u0001\u00a3\u0003\u00a3\u0988\b\u00a3\u0001\u00a4\u0003"+
52331 "\u00a4\u098b\b\u00a4\u0001\u00a4\u0003\u00a4\u098e\b\u00a4\u0001\u00a4"+
52332 "\u0003\u00a4\u0991\b\u00a4\u0001\u00a5\u0001\u00a5\u0001\u00a6\u0001\u00a6"+
52333 "\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6"+
52334 "\u0005\u00a6\u099d\b\u00a6\n\u00a6\f\u00a6\u09a0\t\u00a6\u0001\u00a6\u0001"+
52335 "\u00a6\u0003\u00a6\u09a4\b\u00a6\u0001\u00a7\u0001\u00a7\u0001\u00a7\u0003"+
52336 "\u00a7\u09a9\b\u00a7\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0001"+
52337 "\u00a8\u0001\u00a8\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00aa\u0001"+
52338 "\u00aa\u0001\u00aa\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0003"+
52339 "\u00ab\u09bb\b\u00ab\u0003\u00ab\u09bd\b\u00ab\u0001\u00ac\u0001\u00ac"+
52340 "\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ad"+
52341 "\u0001\u00ad\u0003\u00ad\u09c8\b\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad"+
52342 "\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0003\u00ad\u09d0\b\u00ad\u0001\u00ad"+
52343 "\u0005\u00ad\u09d3\b\u00ad\n\u00ad\f\u00ad\u09d6\t\u00ad\u0001\u00ae\u0001"+
52344 "\u00ae\u0001\u00ae\u0001\u00ae\u0001\u00ae\u0001\u00ae\u0003\u00ae\u09de"+
52345 "\b\u00ae\u0001\u00af\u0001\u00af\u0001\u00af\u0001\u00af\u0001\u00af\u0003"+
52346 "\u00af\u09e5\b\u00af\u0001\u00b0\u0001\u00b0\u0001\u00b0\u0001\u00b0\u0003"+
52347 "\u00b0\u09eb\b\u00b0\u0001\u00b0\u0001\u00b0\u0001\u00b0\u0001\u00b0\u0001"+
52348 "\u00b1\u0001\u00b1\u0001\u00b1\u0003\u00b1\u09f4\b\u00b1\u0001\u00b1\u0003"+
52349 "\u00b1\u09f7\b\u00b1\u0001\u00b1\u0003\u00b1\u09fa\b\u00b1\u0001\u00b1"+
52350 "\u0003\u00b1\u09fd\b\u00b1\u0001\u00b2\u0001\u00b2\u0001\u00b2\u0001\u00b2"+
52351 "\u0001\u00b2\u0005\u00b2\u0a04\b\u00b2\n\u00b2\f\u00b2\u0a07\t\u00b2\u0001"+
52352 "\u00b2\u0001\u00b2\u0001\u00b3\u0001\u00b3\u0001\u00b3\u0003\u00b3\u0a0e"+
52353 "\b\u00b3\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b5\u0001\u00b5\u0001"+
52354 "\u00b5\u0001\u00b5\u0003\u00b5\u0a17\b\u00b5\u0001\u00b6\u0001\u00b6\u0001"+
52355 "\u00b6\u0005\u00b6\u0a1c\b\u00b6\n\u00b6\f\u00b6\u0a1f\t\u00b6\u0003\u00b6"+
52356 "\u0a21\b\u00b6\u0001\u00b7\u0001\u00b7\u0001\u00b7\u0001\u00b7\u0001\u00b7"+
52357 "\u0001\u00b7\u0003\u00b7\u0a29\b\u00b7\u0003\u00b7\u0a2b\b\u00b7\u0001"+
52358 "\u00b7\u0003\u00b7\u0a2e\b\u00b7\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001"+
52359 "\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b9\u0001\u00b9\u0003\u00b9\u0a38"+
52360 "\b\u00b9\u0001\u00b9\u0001\u00b9\u0001\u00b9\u0003\u00b9\u0a3d\b\u00b9"+
52361 "\u0001\u00ba\u0001\u00ba\u0001\u00ba\u0003\u00ba\u0a42\b\u00ba\u0001\u00bb"+
52362 "\u0001\u00bb\u0003\u00bb\u0a46\b\u00bb\u0001\u00bc\u0003\u00bc\u0a49\b"+
52363 "\u00bc\u0001\u00bc\u0001\u00bc\u0003\u00bc\u0a4d\b\u00bc\u0001\u00bc\u0003"+
52364 "\u00bc\u0a50\b\u00bc\u0001\u00bd\u0001\u00bd\u0001\u00bd\u0003\u00bd\u0a55"+
52365 "\b\u00bd\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00bf\u0001"+
52366 "\u00bf\u0003\u00bf\u0a5d\b\u00bf\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0001"+
52367 "\u00bf\u0001\u00bf\u0005\u00bf\u0a64\b\u00bf\n\u00bf\f\u00bf\u0a67\t\u00bf"+
52368 "\u0001\u00c0\u0001\u00c0\u0001\u00c0\u0001\u00c0\u0001\u00c0\u0003\u00c0"+
52369 "\u0a6e\b\u00c0\u0001\u00c0\u0003\u00c0\u0a71\b\u00c0\u0001\u00c0\u0003"+
52370 "\u00c0\u0a74\b\u00c0\u0001\u00c1\u0003\u00c1\u0a77\b\u00c1\u0001\u00c1"+
52371 "\u0001\u00c1\u0001\u00c1\u0001\u00c1\u0003\u00c1\u0a7d\b\u00c1\u0001\u00c1"+
52372 "\u0001\u00c1\u0003\u00c1\u0a81\b\u00c1\u0001\u00c2\u0001\u00c2\u0001\u00c2"+
52373 "\u0001\u00c2\u0005\u00c2\u0a87\b\u00c2\n\u00c2\f\u00c2\u0a8a\t\u00c2\u0001"+
52374 "\u00c2\u0001\u00c2\u0001\u00c3\u0001\u00c3\u0001\u00c3\u0001\u00c3\u0001"+
52375 "\u00c3\u0001\u00c3\u0001\u00c3\u0001\u00c3\u0001\u00c3\u0001\u00c4\u0001"+
52376 "\u00c4\u0001\u00c4\u0001\u00c4\u0001\u00c4\u0001\u00c4\u0001\u00c4\u0001"+
52377 "\u00c4\u0003\u00c4\u0a9f\b\u00c4\u0003\u00c4\u0aa1\b\u00c4\u0001\u00c5"+
52378 "\u0001\u00c5\u0001\u00c5\u0003\u00c5\u0aa6\b\u00c5\u0003\u00c5\u0aa8\b"+
52379 "\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0003"+
52380 "\u00c5\u0aaf\b\u00c5\u0003\u00c5\u0ab1\b\u00c5\u0001\u00c5\u0001\u00c5"+
52381 "\u0003\u00c5\u0ab5\b\u00c5\u0001\u00c6\u0001\u00c6\u0001\u00c6\u0001\u00c6"+
52382 "\u0005\u00c6\u0abb\b\u00c6\n\u00c6\f\u00c6\u0abe\t\u00c6\u0001\u00c6\u0001"+
52383 "\u00c6\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001"+
52384 "\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0003\u00c7\u0acb\b\u00c7\u0001"+
52385 "\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001"+
52386 "\u00c7\u0003\u00c7\u0ad4\b\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001"+
52387 "\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001"+
52388 "\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0003\u00c7\u0ae3\b\u00c7\u0001"+
52389 "\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0003\u00c7\u0ae9\b\u00c7\u0001"+
52390 "\u00c7\u0001\u00c7\u0003\u00c7\u0aed\b\u00c7\u0001\u00c7\u0001\u00c7\u0001"+
52391 "\u00c7\u0001\u00c7\u0001\u00c7\u0003\u00c7\u0af4\b\u00c7\u0001\u00c8\u0001"+
52392 "\u00c8\u0001\u00c8\u0001\u00c8\u0001\u00c8\u0001\u00c8\u0001\u00c8\u0001"+
52393 "\u00c8\u0001\u00c8\u0001\u00c8\u0001\u00c8\u0001\u00c8\u0001\u00c9\u0001"+
52394 "\u00c9\u0001\u00c9\u0001\u00c9\u0005\u00c9\u0b06\b\u00c9\n\u00c9\f\u00c9"+
52395 "\u0b09\t\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00ca\u0001\u00ca\u0001\u00ca"+
52396 "\u0001\u00ca\u0003\u00ca\u0b11\b\u00ca\u0001\u00ca\u0003\u00ca\u0b14\b"+
52397 "\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00cb\u0001"+
52398 "\u00cb\u0001\u00cb\u0001\u00cb\u0001\u00cb\u0001\u00cb\u0001\u00cc\u0001"+
52399 "\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001"+
52400 "\u00cc\u0001\u00cc\u0001\u00cc\u0003\u00cc\u0b2a\b\u00cc\u0003\u00cc\u0b2c"+
52401 "\b\u00cc\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001"+
52402 "\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0003\u00cd\u0b37\b\u00cd\u0001"+
52403 "\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001"+
52404 "\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001"+
52405 "\u00ce\u0001\u00ce\u0003\u00ce\u0b47\b\u00ce\u0001\u00ce\u0001\u00ce\u0001"+
52406 "\u00ce\u0003\u00ce\u0b4c\b\u00ce\u0005\u00ce\u0b4e\b\u00ce\n\u00ce\f\u00ce"+
52407 "\u0b51\t\u00ce\u0001\u00ce\u0001\u00ce\u0003\u00ce\u0b55\b\u00ce\u0001"+
52408 "\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0003\u00cf\u0b5c"+
52409 "\b\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001"+
52410 "\u00cf\u0005\u00cf\u0b64\b\u00cf\n\u00cf\f\u00cf\u0b67\t\u00cf\u0001\u00cf"+
52411 "\u0001\u00cf\u0001\u00cf\u0001\u00d0\u0003\u00d0\u0b6d\b\u00d0\u0001\u00d0"+
52412 "\u0003\u00d0\u0b70\b\u00d0\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1"+
52413 "\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0003\u00d1"+
52414 "\u0b7b\b\u00d1\u0001\u00d2\u0001\u00d2\u0003\u00d2\u0b7f\b\u00d2\u0001"+
52415 "\u00d2\u0001\u00d2\u0001\u00d2\u0003\u00d2\u0b84\b\u00d2\u0001\u00d3\u0001"+
52416 "\u00d3\u0001\u00d3\u0001\u00d3\u0003\u00d3\u0b8a\b\u00d3\u0001\u00d3\u0001"+
52417 "\u00d3\u0001\u00d3\u0003\u00d3\u0b8f\b\u00d3\u0001\u00d3\u0003\u00d3\u0b92"+
52418 "\b\u00d3\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d5\u0001"+
52419 "\u00d5\u0001\u00d5\u0005\u00d5\u0b9b\b\u00d5\n\u00d5\f\u00d5\u0b9e\t\u00d5"+
52420 "\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6"+
52421 "\u0003\u00d6\u0ba6\b\u00d6\u0001\u00d7\u0001\u00d7\u0003\u00d7\u0baa\b"+
52422 "\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001"+
52423 "\u00d8\u0001\u00d8\u0001\u00d8\u0001\u00d8\u0001\u00d8\u0001\u00d8\u0001"+
52424 "\u00d8\u0001\u00d8\u0003\u00d8\u0bb9\b\u00d8\u0001\u00d9\u0001\u00d9\u0001"+
52425 "\u00d9\u0001\u00d9\u0001\u00d9\u0003\u00d9\u0bc0\b\u00d9\u0001\u00d9\u0001"+
52426 "\u00d9\u0001\u00d9\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001"+
52427 "\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u0bcc\b\u00da\u0001\u00da\u0003"+
52428 "\u00da\u0bcf\b\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u0bd3\b\u00da"+
52429 "\u0001\u00da\u0001\u00da\u0003\u00da\u0bd7\b\u00da\u0001\u00db\u0001\u00db"+
52430 "\u0001\u00db\u0001\u00db\u0001\u00db\u0001\u00db\u0001\u00db\u0003\u00db"+
52431 "\u0be0\b\u00db\u0001\u00dc\u0003\u00dc\u0be3\b\u00dc\u0001\u00dc\u0003"+
52432 "\u00dc\u0be6\b\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0005\u00dc\u0beb"+
52433 "\b\u00dc\n\u00dc\f\u00dc\u0bee\t\u00dc\u0001\u00dd\u0001\u00dd\u0003\u00dd"+
52434 "\u0bf2\b\u00dd\u0001\u00de\u0001\u00de\u0001\u00de\u0001\u00de\u0001\u00de"+
52435 "\u0005\u00de\u0bf9\b\u00de\n\u00de\f\u00de\u0bfc\t\u00de\u0001\u00de\u0001"+
52436 "\u00de\u0001\u00df\u0001\u00df\u0001\u00df\u0001\u00df\u0001\u00df\u0001"+
52437 "\u00df\u0001\u00df\u0001\u00df\u0001\u00df\u0001\u00df\u0001\u00df\u0001"+
52438 "\u00df\u0001\u00df\u0001\u00df\u0001\u00df\u0003\u00df\u0c0f\b\u00df\u0003"+
52439 "\u00df\u0c11\b\u00df\u0001\u00e0\u0001\u00e0\u0001\u00e1\u0001\u00e1\u0003"+
52440 "\u00e1\u0c17\b\u00e1\u0001\u00e1\u0001\u00e1\u0001\u00e1\u0005\u00e1\u0c1c"+
52441 "\b\u00e1\n\u00e1\f\u00e1\u0c1f\t\u00e1\u0001\u00e2\u0001\u00e2\u0003\u00e2"+
52442 "\u0c23\b\u00e2\u0001\u00e2\u0001\u00e2\u0001\u00e2\u0005\u00e2\u0c28\b"+
52443 "\u00e2\n\u00e2\f\u00e2\u0c2b\t\u00e2\u0001\u00e3\u0003\u00e3\u0c2e\b\u00e3"+
52444 "\u0001\u00e3\u0001\u00e3\u0001\u00e3\u0001\u00e3\u0003\u00e3\u0c34\b\u00e3"+
52445 "\u0001\u00e4\u0001\u00e4\u0001\u00e4\u0001\u00e4\u0003\u00e4\u0c3a\b\u00e4"+
52446 "\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0003\u00e5\u0c3f\b\u00e5\u0001\u00e5"+
52447 "\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0003\u00e5\u0c45\b\u00e5\u0001\u00e5"+
52448 "\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0003\u00e5\u0c4c\b\u00e5"+
52449 "\u0001\u00e6\u0001\u00e6\u0001\u00e6\u0001\u00e6\u0003\u00e6\u0c52\b\u00e6"+
52450 "\u0001\u00e6\u0001\u00e6\u0001\u00e7\u0001\u00e7\u0001\u00e7\u0001\u00e7"+
52451 "\u0001\u00e7\u0003\u00e7\u0c5b\b\u00e7\u0001\u00e8\u0001\u00e8\u0001\u00e8"+
52452 "\u0001\u00e8\u0001\u00e8\u0003\u00e8\u0c62\b\u00e8\u0003\u00e8\u0c64\b"+
52453 "\u00e8\u0001\u00e9\u0001\u00e9\u0001\u00e9\u0001\u00e9\u0003\u00e9\u0c6a"+
52454 "\b\u00e9\u0001\u00e9\u0003\u00e9\u0c6d\b\u00e9\u0001\u00e9\u0003\u00e9"+
52455 "\u0c70\b\u00e9\u0001\u00e9\u0001\u00e9\u0001\u00ea\u0003\u00ea\u0c75\b"+
52456 "\u00ea\u0001\u00ea\u0001\u00ea\u0001\u00ea\u0001\u00ea\u0001\u00eb\u0003"+
52457 "\u00eb\u0c7c\b\u00eb\u0001\u00eb\u0001\u00eb\u0001\u00eb\u0001\u00eb\u0001"+
52458 "\u00ec\u0001\u00ec\u0001\u00ec\u0003\u00ec\u0c85\b\u00ec\u0001\u00ed\u0001"+
52459 "\u00ed\u0001\u00ed\u0003\u00ed\u0c8a\b\u00ed\u0001\u00ee\u0001\u00ee\u0001"+
52460 "\u00ee\u0001\u00ef\u0001\u00ef\u0001\u00ef\u0001\u00ef\u0003\u00ef\u0c93"+
52461 "\b\u00ef\u0003\u00ef\u0c95\b\u00ef\u0001\u00f0\u0001\u00f0\u0001\u00f0"+
52462 "\u0003\u00f0\u0c9a\b\u00f0\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1"+
52463 "\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0003\u00f1\u0ca3\b\u00f1\u0003\u00f1"+
52464 "\u0ca5\b\u00f1\u0001\u00f1\u0003\u00f1\u0ca8\b\u00f1\u0001\u00f2\u0001"+
52465 "\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001"+
52466 "\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001"+
52467 "\u00f2\u0001\u00f2\u0001\u00f2\u0003\u00f2\u0cba\b\u00f2\u0003\u00f2\u0cbc"+
52468 "\b\u00f2\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0001"+
52469 "\u00f3\u0001\u00f3\u0001\u00f3\u0003\u00f3\u0cc6\b\u00f3\u0001\u00f3\u0001"+
52470 "\u00f3\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0003\u00f4\u0ccd\b\u00f4\u0001"+
52471 "\u00f4\u0003\u00f4\u0cd0\b\u00f4\u0001\u00f4\u0001\u00f4\u0003\u00f4\u0cd4"+
52472 "\b\u00f4\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0005\u00f4\u0cda"+
52473 "\b\u00f4\n\u00f4\f\u00f4\u0cdd\t\u00f4\u0003\u00f4\u0cdf\b\u00f4\u0001"+
52474 "\u00f5\u0001\u00f5\u0003\u00f5\u0ce3\b\u00f5\u0001\u00f5\u0001\u00f5\u0001"+
52475 "\u00f5\u0005\u00f5\u0ce8\b\u00f5\n\u00f5\f\u00f5\u0ceb\t\u00f5\u0001\u00f5"+
52476 "\u0001\u00f5\u0005\u00f5\u0cef\b\u00f5\n\u00f5\f\u00f5\u0cf2\t\u00f5\u0001"+
52477 "\u00f5\u0001\u00f5\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0005"+
52478 "\u00f6\u0cfa\b\u00f6\n\u00f6\f\u00f6\u0cfd\t\u00f6\u0001\u00f6\u0001\u00f6"+
52479 "\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6"+
52480 "\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6"+
52481 "\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6"+
52482 "\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0003\u00f6"+
52483 "\u0d18\b\u00f6\u0001\u00f7\u0001\u00f7\u0001\u00f7\u0001\u00f7\u0001\u00f7"+
52484 "\u0001\u00f7\u0003\u00f7\u0d20\b\u00f7\u0001\u00f8\u0001\u00f8\u0001\u00f8"+
52485 "\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8"+
52486 "\u0001\u00f8\u0001\u00f8\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9"+
52487 "\u0001\u00f9\u0003\u00f9\u0d32\b\u00f9\u0003\u00f9\u0d34\b\u00f9\u0001"+
52488 "\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0003\u00f9\u0d3b"+
52489 "\b\u00f9\u0001\u00f9\u0003\u00f9\u0d3e\b\u00f9\u0003\u00f9\u0d40\b\u00f9"+
52490 "\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0003\u00f9"+
52491 "\u0d47\b\u00f9\u0003\u00f9\u0d49\b\u00f9\u0001\u00fa\u0001\u00fa\u0001"+
52492 "\u00fa\u0003\u00fa\u0d4e\b\u00fa\u0001\u00fa\u0001\u00fa\u0001\u00fa\u0005"+
52493 "\u00fa\u0d53\b\u00fa\n\u00fa\f\u00fa\u0d56\t\u00fa\u0001\u00fb\u0001\u00fb"+
52494 "\u0003\u00fb\u0d5a\b\u00fb\u0001\u00fb\u0003\u00fb\u0d5d\b\u00fb\u0001"+
52495 "\u00fb\u0001\u00fb\u0003\u00fb\u0d61\b\u00fb\u0001\u00fc\u0001\u00fc\u0001"+
52496 "\u00fc\u0001\u00fc\u0001\u00fc\u0005\u00fc\u0d68\b\u00fc\n\u00fc\f\u00fc"+
52497 "\u0d6b\t\u00fc\u0003\u00fc\u0d6d\b\u00fc\u0001\u00fd\u0001\u00fd\u0001"+
52498 "\u00fd\u0001\u00fd\u0005\u00fd\u0d73\b\u00fd\n\u00fd\f\u00fd\u0d76\t\u00fd"+
52499 "\u0001\u00fd\u0003\u00fd\u0d79\b\u00fd\u0001\u00fe\u0001\u00fe\u0003\u00fe"+
52500 "\u0d7d\b\u00fe\u0001\u00fe\u0001\u00fe\u0001\u00fe\u0003\u00fe\u0d82\b"+
52501 "\u00fe\u0001\u00fe\u0001\u00fe\u0001\u00fe\u0003\u00fe\u0d87\b\u00fe\u0001"+
52502 "\u00ff\u0001\u00ff\u0003\u00ff\u0d8b\b\u00ff\u0001\u00ff\u0001\u00ff\u0001"+
52503 "\u0100\u0001\u0100\u0001\u0100\u0001\u0100\u0001\u0100\u0005\u0100\u0d94"+
52504 "\b\u0100\n\u0100\f\u0100\u0d97\t\u0100\u0001\u0100\u0001\u0100\u0001\u0101"+
52505 "\u0001\u0101\u0003\u0101\u0d9d\b\u0101\u0001\u0102\u0001\u0102\u0001\u0102"+
52506 "\u0001\u0102\u0003\u0102\u0da3\b\u0102\u0001\u0102\u0001\u0102\u0003\u0102"+
52507 "\u0da7\b\u0102\u0001\u0102\u0001\u0102\u0003\u0102\u0dab\b\u0102\u0001"+
52508 "\u0102\u0001\u0102\u0001\u0102\u0001\u0102\u0001\u0102\u0001\u0102\u0003"+
52509 "\u0102\u0db3\b\u0102\u0003\u0102\u0db5\b\u0102\u0001\u0102\u0003\u0102"+
52510 "\u0db8\b\u0102\u0001\u0102\u0001\u0102\u0001\u0103\u0001\u0103\u0001\u0103"+
52511 "\u0003\u0103\u0dbf\b\u0103\u0001\u0103\u0001\u0103\u0001\u0103\u0003\u0103"+
52512 "\u0dc4\b\u0103\u0001\u0103\u0001\u0103\u0001\u0103\u0001\u0103\u0001\u0103"+
52513 "\u0001\u0103\u0001\u0103\u0003\u0103\u0dcd\b\u0103\u0001\u0104\u0001\u0104"+
52514 "\u0001\u0104\u0003\u0104\u0dd2\b\u0104\u0001\u0104\u0001\u0104\u0001\u0104"+
52515 "\u0001\u0104\u0005\u0104\u0dd8\b\u0104\n\u0104\f\u0104\u0ddb\t\u0104\u0001"+
52516 "\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0003\u0104\u0de1\b\u0104\u0001"+
52517 "\u0105\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0106\u0001\u0106\u0003"+
52518 "\u0106\u0de9\b\u0106\u0001\u0106\u0001\u0106\u0001\u0106\u0001\u0106\u0001"+
52519 "\u0106\u0001\u0106\u0001\u0106\u0003\u0106\u0df2\b\u0106\u0001\u0106\u0001"+
52520 "\u0106\u0001\u0106\u0001\u0106\u0001\u0106\u0001\u0106\u0001\u0106\u0001"+
52521 "\u0106\u0001\u0106\u0001\u0106\u0003\u0106\u0dfe\b\u0106\u0001\u0107\u0001"+
52522 "\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0001"+
52523 "\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0005\u0107\u0e0c"+
52524 "\b\u0107\n\u0107\f\u0107\u0e0f\t\u0107\u0003\u0107\u0e11\b\u0107\u0003"+
52525 "\u0107\u0e13\b\u0107\u0001\u0108\u0003\u0108\u0e16\b\u0108\u0001\u0108"+
52526 "\u0003\u0108\u0e19\b\u0108\u0001\u0108\u0003\u0108\u0e1c\b\u0108\u0001"+
52527 "\u0108\u0003\u0108\u0e1f\b\u0108\u0001\u0109\u0001\u0109\u0001\u0109\u0001"+
52528 "\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0001"+
52529 "\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0001"+
52530 "\u0109\u0003\u0109\u0e31\b\u0109\u0001\u010a\u0001\u010a\u0001\u010a\u0003"+
52531 "\u010a\u0e36\b\u010a\u0001\u010a\u0001\u010a\u0001\u010a\u0003\u010a\u0e3b"+
52532 "\b\u010a\u0001\u010a\u0001\u010a\u0001\u010a\u0003\u010a\u0e40\b\u010a"+
52533 "\u0001\u010a\u0003\u010a\u0e43\b\u010a\u0005\u010a\u0e45\b\u010a\n\u010a"+
52534 "\f\u010a\u0e48\t\u010a\u0001\u010a\u0001\u010a\u0001\u010b\u0001\u010b"+
52535 "\u0001\u010b\u0003\u010b\u0e4f\b\u010b\u0001\u010c\u0001\u010c\u0001\u010c"+
52536 "\u0001\u010c\u0001\u010c\u0001\u010c\u0001\u010c\u0001\u010c\u0005\u010c"+
52537 "\u0e59\b\u010c\n\u010c\f\u010c\u0e5c\t\u010c\u0003\u010c\u0e5e\b\u010c"+
52538 "\u0001\u010c\u0003\u010c\u0e61\b\u010c\u0001\u010c\u0001\u010c\u0001\u010c"+
52539 "\u0001\u010c\u0001\u010c\u0001\u010d\u0001\u010d\u0001\u010d\u0001\u010d"+
52540 "\u0001\u010d\u0001\u010d\u0005\u010d\u0e6e\b\u010d\n\u010d\f\u010d\u0e71"+
52541 "\t\u010d\u0003\u010d\u0e73\b\u010d\u0001\u010d\u0003\u010d\u0e76\b\u010d"+
52542 "\u0001\u010d\u0001\u010d\u0003\u010d\u0e7a\b\u010d\u0001\u010d\u0001\u010d"+
52543 "\u0003\u010d\u0e7e\b\u010d\u0001\u010e\u0001\u010e\u0001\u010e\u0001\u010e"+
52544 "\u0001\u010e\u0001\u010e\u0005\u010e\u0e86\b\u010e\n\u010e\f\u010e\u0e89"+
52545 "\t\u010e\u0003\u010e\u0e8b\b\u010e\u0001\u010e\u0003\u010e\u0e8e\b\u010e"+
52546 "\u0001\u010e\u0001\u010e\u0001\u010e\u0001\u010e\u0001\u010e\u0001\u010f"+
52547 "\u0001\u010f\u0001\u010f\u0001\u010f\u0003\u010f\u0e99\b\u010f\u0001\u010f"+
52548 "\u0005\u010f\u0e9c\b\u010f\n\u010f\f\u010f\u0e9f\t\u010f\u0001\u0110\u0005"+
52549 "\u0110\u0ea2\b\u0110\n\u0110\f\u0110\u0ea5\t\u0110\u0001\u0111\u0003\u0111"+
52550 "\u0ea8\b\u0111\u0001\u0111\u0003\u0111\u0eab\b\u0111\u0001\u0111\u0001"+
52551 "\u0111\u0001\u0111\u0001\u0111\u0001\u0111\u0001\u0111\u0001\u0111\u0001"+
52552 "\u0111\u0001\u0111\u0003\u0111\u0eb6\b\u0111\u0001\u0111\u0003\u0111\u0eb9"+
52553 "\b\u0111\u0001\u0111\u0001\u0111\u0001\u0111\u0003\u0111\u0ebe\b\u0111"+
52554 "\u0003\u0111\u0ec0\b\u0111\u0001\u0112\u0001\u0112\u0001\u0112\u0001\u0112"+
52555 "\u0001\u0112\u0001\u0112\u0001\u0112\u0001\u0112\u0001\u0112\u0001\u0112"+
52556 "\u0003\u0112\u0ecc\b\u0112\u0001\u0112\u0003\u0112\u0ecf\b\u0112\u0001"+
52557 "\u0113\u0001\u0113\u0001\u0113\u0005\u0113\u0ed4\b\u0113\n\u0113\f\u0113"+
52558 "\u0ed7\t\u0113\u0003\u0113\u0ed9\b\u0113\u0001\u0114\u0001\u0114\u0003"+
52559 "\u0114\u0edd\b\u0114\u0001\u0114\u0001\u0114\u0003\u0114\u0ee1\b\u0114"+
52560 "\u0001\u0114\u0003\u0114\u0ee4\b\u0114\u0001\u0115\u0003\u0115\u0ee7\b"+
52561 "\u0115\u0001\u0115\u0001\u0115\u0003\u0115\u0eeb\b\u0115\u0001\u0115\u0001"+
52562 "\u0115\u0001\u0115\u0001\u0116\u0001\u0116\u0001\u0116\u0001\u0116\u0005"+
52563 "\u0116\u0ef4\b\u0116\n\u0116\f\u0116\u0ef7\t\u0116\u0003\u0116\u0ef9\b"+
52564 "\u0116\u0001\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0003"+
52565 "\u0117\u0f00\b\u0117\u0001\u0118\u0003\u0118\u0f03\b\u0118\u0001\u0118"+
52566 "\u0001\u0118\u0003\u0118\u0f07\b\u0118\u0001\u0118\u0001\u0118\u0001\u0118"+
52567 "\u0001\u0118\u0001\u0118\u0003\u0118\u0f0e\b\u0118\u0001\u0118\u0001\u0118"+
52568 "\u0001\u0118\u0003\u0118\u0f13\b\u0118\u0001\u0118\u0001\u0118\u0001\u0118"+
52569 "\u0001\u0118\u0001\u0118\u0001\u0118\u0001\u0118\u0005\u0118\u0f1c\b\u0118"+
52570 "\n\u0118\f\u0118\u0f1f\t\u0118\u0001\u0118\u0001\u0118\u0003\u0118\u0f23"+
52571 "\b\u0118\u0003\u0118\u0f25\b\u0118\u0001\u0119\u0001\u0119\u0001\u0119"+
52572 "\u0001\u0119\u0001\u0119\u0001\u0119\u0001\u0119\u0001\u0119\u0001\u0119"+
52573 "\u0001\u0119\u0001\u0119\u0003\u0119\u0f32\b\u0119\u0001\u0119\u0001\u0119"+
52574 "\u0001\u0119\u0001\u0119\u0001\u0119\u0001\u0119\u0001\u0119\u0001\u0119"+
52575 "\u0001\u0119\u0003\u0119\u0f3d\b\u0119\u0001\u011a\u0001\u011a\u0001\u011a"+
52576 "\u0001\u011a\u0005\u011a\u0f43\b\u011a\n\u011a\f\u011a\u0f46\t\u011a\u0003"+
52577 "\u011a\u0f48\b\u011a\u0001\u011a\u0001\u011a\u0003\u011a\u0f4c\b\u011a"+
52578 "\u0001\u011a\u0001\u011a\u0001\u011a\u0001\u011a\u0003\u011a\u0f52\b\u011a"+
52579 "\u0001\u011b\u0001\u011b\u0001\u011c\u0001\u011c\u0001\u011c\u0001\u011c"+
52580 "\u0005\u011c\u0f5a\b\u011c\n\u011c\f\u011c\u0f5d\t\u011c\u0001\u011d\u0001"+
52581 "\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0005\u011d\u0f64\b\u011d\n"+
52582 "\u011d\f\u011d\u0f67\t\u011d\u0001\u011d\u0001\u011d\u0003\u011d\u0f6b"+
52583 "\b\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0001"+
52584 "\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0003\u011e\u0f77"+
52585 "\b\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0003\u011e\u0f7d"+
52586 "\b\u011e\u0001\u011e\u0003\u011e\u0f80\b\u011e\u0001\u011e\u0003\u011e"+
52587 "\u0f83\b\u011e\u0001\u011e\u0003\u011e\u0f86\b\u011e\u0001\u011e\u0003"+
52588 "\u011e\u0f89\b\u011e\u0001\u011e\u0003\u011e\u0f8c\b\u011e\u0001\u011e"+
52589 "\u0003\u011e\u0f8f\b\u011e\u0001\u011e\u0001\u011e\u0003\u011e\u0f93\b"+
52590 "\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0003\u011e\u0f98\b\u011e\u0001"+
52591 "\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0003\u011e\u0f9f"+
52592 "\b\u011e\u0001\u011f\u0001\u011f\u0001\u011f\u0001\u011f\u0001\u011f\u0003"+
52593 "\u011f\u0fa6\b\u011f\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120\u0001"+
52594 "\u0120\u0001\u0120\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121\u0001"+
52595 "\u0121\u0003\u0121\u0fb3\b\u0121\u0001\u0122\u0001\u0122\u0001\u0122\u0001"+
52596 "\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001"+
52597 "\u0122\u0003\u0122\u0fbf\b\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001"+
52598 "\u0122\u0003\u0122\u0fc5\b\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001"+
52599 "\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0003\u0122\u0fce\b\u0122\u0001"+
52600 "\u0122\u0003\u0122\u0fd1\b\u0122\u0001\u0123\u0001\u0123\u0003\u0123\u0fd5"+
52601 "\b\u0123\u0001\u0123\u0001\u0123\u0003\u0123\u0fd9\b\u0123\u0001\u0123"+
52602 "\u0001\u0123\u0001\u0123\u0001\u0123\u0001\u0123\u0005\u0123\u0fe0\b\u0123"+
52603 "\n\u0123\f\u0123\u0fe3\t\u0123\u0001\u0123\u0001\u0123\u0003\u0123\u0fe7"+
52604 "\b\u0123\u0001\u0123\u0001\u0123\u0001\u0123\u0001\u0123\u0001\u0123\u0001"+
52605 "\u0123\u0001\u0123\u0003\u0123\u0ff0\b\u0123\u0003\u0123\u0ff2\b\u0123"+
52606 "\u0001\u0123\u0001\u0123\u0001\u0123\u0003\u0123\u0ff7\b\u0123\u0003\u0123"+
52607 "\u0ff9\b\u0123\u0001\u0124\u0001\u0124\u0001\u0124\u0005\u0124\u0ffe\b"+
52608 "\u0124\n\u0124\f\u0124\u1001\t\u0124\u0001\u0125\u0001\u0125\u0001\u0125"+
52609 "\u0001\u0125\u0001\u0125\u0001\u0125\u0005\u0125\u1009\b\u0125\n\u0125"+
52610 "\f\u0125\u100c\t\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0001\u0125"+
52611 "\u0001\u0125\u0001\u0125\u0003\u0125\u1014\b\u0125\u0001\u0126\u0001\u0126"+
52612 "\u0001\u0126\u0001\u0126\u0001\u0126\u0003\u0126\u101b\b\u0126\u0003\u0126"+
52613 "\u101d\b\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0001\u0126"+
52614 "\u0005\u0126\u1024\b\u0126\n\u0126\f\u0126\u1027\t\u0126\u0001\u0126\u0001"+
52615 "\u0126\u0003\u0126\u102b\b\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0001"+
52616 "\u0126\u0001\u0126\u0003\u0126\u1032\b\u0126\u0001\u0126\u0001\u0126\u0001"+
52617 "\u0126\u0001\u0126\u0001\u0126\u0003\u0126\u1039\b\u0126\u0001\u0126\u0001"+
52618 "\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0001"+
52619 "\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0001"+
52620 "\u0126\u0005\u0126\u1049\b\u0126\n\u0126\f\u0126\u104c\t\u0126\u0001\u0126"+
52621 "\u0001\u0126\u0003\u0126\u1050\b\u0126\u0001\u0126\u0001\u0126\u0003\u0126"+
52622 "\u1054\b\u0126\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127"+
52623 "\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127"+
52624 "\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127"+
52625 "\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127"+
52626 "\u0001\u0127\u0001\u0127\u0003\u0127\u106f\b\u0127\u0001\u0127\u0003\u0127"+
52627 "\u1072\b\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127"+
52628 "\u0001\u0127\u0001\u0127\u0003\u0127\u107b\b\u0127\u0001\u0127\u0001\u0127"+
52629 "\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127"+
52630 "\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127"+
52631 "\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127"+
52632 "\u0001\u0127\u0005\u0127\u1092\b\u0127\n\u0127\f\u0127\u1095\t\u0127\u0003"+
52633 "\u0127\u1097\b\u0127\u0003\u0127\u1099\b\u0127\u0001\u0128\u0001\u0128"+
52634 "\u0001\u0128\u0003\u0128\u109e\b\u0128\u0001\u0129\u0001\u0129\u0001\u0129"+
52635 "\u0001\u0129\u0001\u0129\u0001\u0129\u0003\u0129\u10a6\b\u0129\u0001\u012a"+
52636 "\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a"+
52637 "\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a"+
52638 "\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a"+
52639 "\u0003\u012a\u10bb\b\u012a\u0003\u012a\u10bd\b\u012a\u0001\u012b\u0001"+
52640 "\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0003"+
52641 "\u012b\u10c6\b\u012b\u0001\u012b\u0003\u012b\u10c9\b\u012b\u0001\u012c"+
52642 "\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c"+
52643 "\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0005\u012c\u10d6\b\u012c"+
52644 "\n\u012c\f\u012c\u10d9\t\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u10dd"+
52645 "\b\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0005"+
52646 "\u012c\u10e4\b\u012c\n\u012c\f\u012c\u10e7\t\u012c\u0001\u012c\u0001\u012c"+
52647 "\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c"+
52648 "\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c"+
52649 "\u0001\u012c\u0005\u012c\u10f8\b\u012c\n\u012c\f\u012c\u10fb\t\u012c\u0003"+
52650 "\u012c\u10fd\b\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u1101\b\u012c"+
52651 "\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d"+
52652 "\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0003\u012d\u110d\b\u012d"+
52653 "\u0003\u012d\u110f\b\u012d\u0001\u012e\u0001\u012e\u0001\u012e\u0001\u012e"+
52654 "\u0001\u012e\u0001\u012e\u0001\u012e\u0001\u012e\u0001\u012e\u0001\u012e"+
52655 "\u0001\u012e\u0003\u012e\u111c\b\u012e\u0003\u012e\u111e\b\u012e\u0001"+
52656 "\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0001"+
52657 "\u012f\u0001\u012f\u0003\u012f\u1128\b\u012f\u0001\u0130\u0001\u0130\u0001"+
52658 "\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001"+
52659 "\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001"+
52660 "\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001"+
52661 "\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001"+
52662 "\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001"+
52663 "\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001"+
52664 "\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0003\u0130\u1155"+
52665 "\b\u0130\u0001\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0003\u0131\u115b"+
52666 "\b\u0131\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001"+
52667 "\u0132\u0001\u0132\u0003\u0132\u1164\b\u0132\u0001\u0132\u0001\u0132\u0001"+
52668 "\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001"+
52669 "\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0003\u0132\u1173"+
52670 "\b\u0132\u0001\u0133\u0001\u0133\u0003\u0133\u1177\b\u0133\u0001\u0134"+
52671 "\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0005\u0134\u117e\b\u0134"+
52672 "\n\u0134\f\u0134\u1181\t\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0003"+
52673 "\u0134\u1186\b\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001"+
52674 "\u0134\u0001\u0134\u0005\u0134\u118e\b\u0134\n\u0134\f\u0134\u1191\t\u0134"+
52675 "\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134"+
52676 "\u0003\u0134\u1199\b\u0134\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135"+
52677 "\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0003\u0135"+
52678 "\u11a4\b\u0135\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136"+
52679 "\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0003\u0136"+
52680 "\u11b0\b\u0136\u0003\u0136\u11b2\b\u0136\u0001\u0136\u0001\u0136\u0001"+
52681 "\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0003\u0136\u11ba\b\u0136\u0001"+
52682 "\u0137\u0001\u0137\u0001\u0137\u0001\u0137\u0001\u0137\u0001\u0137\u0001"+
52683 "\u0137\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0003"+
52684 "\u0138\u11c8\b\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0005"+
52685 "\u0138\u11ce\b\u0138\n\u0138\f\u0138\u11d1\t\u0138\u0001\u0138\u0001\u0138"+
52686 "\u0003\u0138\u11d5\b\u0138\u0003\u0138\u11d7\b\u0138\u0001\u0139\u0001"+
52687 "\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0003"+
52688 "\u0139\u11e0\b\u0139\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0003"+
52689 "\u013a\u11e6\b\u013a\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001"+
52690 "\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001"+
52691 "\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001"+
52692 "\u013b\u0001\u013b\u0001\u013b\u0003\u013b\u11fb\b\u013b\u0001\u013c\u0001"+
52693 "\u013c\u0001\u013c\u0001\u013c\u0001\u013c\u0003\u013c\u1202\b\u013c\u0001"+
52694 "\u013c\u0001\u013c\u0001\u013c\u0001\u013c\u0005\u013c\u1208\b\u013c\n"+
52695 "\u013c\f\u013c\u120b\t\u013c\u0001\u013c\u0001\u013c\u0003\u013c\u120f"+
52696 "\b\u013c\u0003\u013c\u1211\b\u013c\u0001\u013d\u0001\u013d\u0001\u013d"+
52697 "\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d"+
52698 "\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d"+
52699 "\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d"+
52700 "\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d"+
52701 "\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d"+
52702 "\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0005\u013d\u1238\b\u013d"+
52703 "\n\u013d\f\u013d\u123b\t\u013d\u0001\u013d\u0001\u013d\u0003\u013d\u123f"+
52704 "\b\u013d\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001"+
52705 "\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001"+
52706 "\u013e\u0001\u013e\u0003\u013e\u124e\b\u013e\u0001\u013f\u0001\u013f\u0001"+
52707 "\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0003\u013f\u1256\b\u013f\u0001"+
52708 "\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001"+
52709 "\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001"+
52710 "\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001"+
52711 "\u0140\u0001\u0140\u0001\u0140\u0003\u0140\u126d\b\u0140\u0001\u0141\u0001"+
52712 "\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0003"+
52713 "\u0141\u1276\b\u0141\u0001\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0001"+
52714 "\u0142\u0001\u0142\u0003\u0142\u127e\b\u0142\u0001\u0143\u0001\u0143\u0001"+
52715 "\u0143\u0001\u0143\u0001\u0143\u0001\u0144\u0001\u0144\u0001\u0144\u0001"+
52716 "\u0144\u0003\u0144\u1289\b\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0003"+
52717 "\u0144\u128e\b\u0144\u0001\u0145\u0001\u0145\u0001\u0145\u0001\u0145\u0005"+
52718 "\u0145\u1294\b\u0145\n\u0145\f\u0145\u1297\t\u0145\u0001\u0145\u0001\u0145"+
52719 "\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0005\u0146\u129f\b\u0146"+
52720 "\n\u0146\f\u0146\u12a2\t\u0146\u0001\u0146\u0001\u0146\u0001\u0147\u0001"+
52721 "\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0003\u0147\u12ac"+
52722 "\b\u0147\u0001\u0148\u0001\u0148\u0001\u0148\u0001\u0148\u0001\u0148\u0001"+
52723 "\u0148\u0001\u0148\u0003\u0148\u12b5\b\u0148\u0001\u0149\u0001\u0149\u0001"+
52724 "\u0149\u0001\u0149\u0001\u0149\u0003\u0149\u12bc\b\u0149\u0001\u014a\u0001"+
52725 "\u014a\u0003\u014a\u12c0\b\u014a\u0001\u014b\u0001\u014b\u0001\u014b\u0001"+
52726 "\u014b\u0003\u014b\u12c6\b\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0001"+
52727 "\u014b\u0001\u014b\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001"+
52728 "\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001"+
52729 "\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0003\u014c\u12db\b\u014c\u0001"+
52730 "\u014c\u0001\u014c\u0001\u014c\u0001\u014d\u0001\u014d\u0001\u014d\u0001"+
52731 "\u014d\u0001\u014d\u0001\u014d\u0001\u014d\u0005\u014d\u12e7\b\u014d\n"+
52732 "\u014d\f\u014d\u12ea\t\u014d\u0003\u014d\u12ec\b\u014d\u0001\u014d\u0001"+
52733 "\u014d\u0001\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0005"+
52734 "\u014e\u12f5\b\u014e\n\u014e\f\u014e\u12f8\t\u014e\u0001\u014e\u0001\u014e"+
52735 "\u0003\u014e\u12fc\b\u014e\u0001\u014f\u0003\u014f\u12ff\b\u014f\u0001"+
52736 "\u014f\u0001\u014f\u0003\u014f\u1303\b\u014f\u0001\u014f\u0003\u014f\u1306"+
52737 "\b\u014f\u0001\u014f\u0001\u014f\u0003\u014f\u130a\b\u014f\u0001\u014f"+
52738 "\u0003\u014f\u130d\b\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0001\u014f"+
52739 "\u0003\u014f\u1313\b\u014f\u0001\u0150\u0003\u0150\u1316\b\u0150\u0001"+
52740 "\u0150\u0003\u0150\u1319\b\u0150\u0001\u0150\u0001\u0150\u0001\u0150\u0001"+
52741 "\u0151\u0003\u0151\u131f\b\u0151\u0001\u0151\u0003\u0151\u1322\b\u0151"+
52742 "\u0001\u0151\u0001\u0151\u0001\u0151\u0001\u0151\u0005\u0151\u1328\b\u0151"+
52743 "\n\u0151\f\u0151\u132b\t\u0151\u0001\u0152\u0003\u0152\u132e\b\u0152\u0001"+
52744 "\u0152\u0003\u0152\u1331\b\u0152\u0001\u0152\u0001\u0152\u0001\u0153\u0003"+
52745 "\u0153\u1336\b\u0153\u0001\u0153\u0001\u0153\u0001\u0154\u0001\u0154\u0001"+
52746 "\u0154\u0001\u0154\u0001\u0154\u0005\u0154\u133f\b\u0154\n\u0154\f\u0154"+
52747 "\u1342\t\u0154\u0003\u0154\u1344\b\u0154\u0001\u0155\u0003\u0155\u1347"+
52748 "\b\u0155\u0001\u0155\u0001\u0155\u0003\u0155\u134b\b\u0155\u0001\u0155"+
52749 "\u0001\u0155\u0001\u0155\u0003\u0155\u1350\b\u0155\u0001\u0155\u0001\u0155"+
52750 "\u0003\u0155\u1354\b\u0155\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156"+
52751 "\u0001\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0005\u0157\u135e\b\u0157"+
52752 "\n\u0157\f\u0157\u1361\t\u0157\u0001\u0157\u0003\u0157\u1364\b\u0157\u0001"+
52753 "\u0158\u0001\u0158\u0001\u0158\u0001\u0158\u0005\u0158\u136a\b\u0158\n"+
52754 "\u0158\f\u0158\u136d\t\u0158\u0001\u0158\u0001\u0158\u0001\u0158\u0001"+
52755 "\u0158\u0003\u0158\u1373\b\u0158\u0001\u0159\u0001\u0159\u0003\u0159\u1377"+
52756 "\b\u0159\u0001\u015a\u0003\u015a\u137a\b\u015a\u0001\u015a\u0001\u015a"+
52757 "\u0003\u015a\u137e\b\u015a\u0001\u015a\u0001\u015a\u0003\u015a\u1382\b"+
52758 "\u015a\u0001\u015a\u0003\u015a\u1385\b\u015a\u0001\u015a\u0003\u015a\u1388"+
52759 "\b\u015a\u0001\u015a\u0001\u015a\u0003\u015a\u138c\b\u015a\u0001\u015b"+
52760 "\u0003\u015b\u138f\b\u015b\u0001\u015b\u0003\u015b\u1392\b\u015b\u0001"+
52761 "\u015b\u0001\u015b\u0003\u015b\u1396\b\u015b\u0001\u015b\u0003\u015b\u1399"+
52762 "\b\u015b\u0001\u015b\u0003\u015b\u139c\b\u015b\u0001\u015c\u0001\u015c"+
52763 "\u0001\u015c\u0001\u015c\u0001\u015c\u0001\u015c\u0001\u015c\u0001\u015c"+
52764 "\u0001\u015c\u0003\u015c\u13a7\b\u015c\u0001\u015d\u0001\u015d\u0003\u015d"+
52765 "\u13ab\b\u015d\u0001\u015d\u0001\u015d\u0001\u015d\u0003\u015d\u13b0\b"+
52766 "\u015d\u0005\u015d\u13b2\b\u015d\n\u015d\f\u015d\u13b5\t\u015d\u0001\u015e"+
52767 "\u0001\u015e\u0001\u015f\u0001\u015f\u0001\u015f\u0003\u015f\u13bc\b\u015f"+
52768 "\u0001\u015f\u0001\u015f\u0003\u015f\u13c0\b\u015f\u0001\u015f\u0005\u015f"+
52769 "\u13c3\b\u015f\n\u015f\f\u015f\u13c6\t\u015f\u0001\u0160\u0003\u0160\u13c9"+
52770 "\b\u0160\u0001\u0160\u0001\u0160\u0003\u0160\u13cd\b\u0160\u0001\u0160"+
52771 "\u0001\u0160\u0003\u0160\u13d1\b\u0160\u0001\u0160\u0003\u0160\u13d4\b"+
52772 "\u0160\u0001\u0160\u0003\u0160\u13d7\b\u0160\u0001\u0160\u0003\u0160\u13da"+
52773 "\b\u0160\u0001\u0160\u0003\u0160\u13dd\b\u0160\u0001\u0160\u0003\u0160"+
52774 "\u13e0\b\u0160\u0001\u0161\u0001\u0161\u0001\u0162\u0001\u0162\u0001\u0162"+
52775 "\u0003\u0162\u13e7\b\u0162\u0003\u0162\u13e9\b\u0162\u0001\u0162\u0001"+
52776 "\u0162\u0005\u0162\u13ed\b\u0162\n\u0162\f\u0162\u13f0\t\u0162\u0001\u0163"+
52777 "\u0001\u0163\u0001\u0163\u0001\u0163\u0001\u0163\u0003\u0163\u13f7\b\u0163"+
52778 "\u0001\u0163\u0001\u0163\u0003\u0163\u13fb\b\u0163\u0001\u0163\u0001\u0163"+
52779 "\u0003\u0163\u13ff\b\u0163\u0001\u0163\u0003\u0163\u1402\b\u0163\u0001"+
52780 "\u0163\u0003\u0163\u1405\b\u0163\u0003\u0163\u1407\b\u0163\u0001\u0164"+
52781 "\u0001\u0164\u0003\u0164\u140b\b\u0164\u0001\u0164\u0001\u0164\u0003\u0164"+
52782 "\u140f\b\u0164\u0001\u0164\u0003\u0164\u1412\b\u0164\u0001\u0164\u0001"+
52783 "\u0164\u0003\u0164\u1416\b\u0164\u0001\u0164\u0001\u0164\u0001\u0164\u0001"+
52784 "\u0164\u0001\u0164\u0001\u0164\u0001\u0164\u0001\u0164\u0003\u0164\u1420"+
52785 "\b\u0164\u0001\u0164\u0003\u0164\u1423\b\u0164\u0003\u0164\u1425\b\u0164"+
52786 "\u0001\u0165\u0001\u0165\u0003\u0165\u1429\b\u0165\u0001\u0166\u0001\u0166"+
52787 "\u0001\u0167\u0001\u0167\u0001\u0167\u0001\u0168\u0001\u0168\u0001\u0168"+
52788 "\u0001\u0169\u0001\u0169\u0001\u0169\u0005\u0169\u1436\b\u0169\n\u0169"+
52789 "\f\u0169\u1439\t\u0169\u0001\u016a\u0001\u016a\u0005\u016a\u143d\b\u016a"+
52790 "\n\u016a\f\u016a\u1440\t\u016a\u0001\u016b\u0001\u016b\u0003\u016b\u1444"+
52791 "\b\u016b\u0001\u016b\u0003\u016b\u1447\b\u016b\u0001\u016b\u0001\u016b"+
52792 "\u0003\u016b\u144b\b\u016b\u0001\u016b\u0001\u016b\u0003\u016b\u144f\b"+
52793 "\u016b\u0001\u016b\u0001\u016b\u0003\u016b\u1453\b\u016b\u0001\u016b\u0003"+
52794 "\u016b\u1456\b\u016b\u0001\u016b\u0001\u016b\u0001\u016b\u0001\u016b\u0003"+
52795 "\u016b\u145c\b\u016b\u0001\u016c\u0003\u016c\u145f\b\u016c\u0001\u016c"+
52796 "\u0003\u016c\u1462\b\u016c\u0001\u016c\u0001\u016c\u0001\u016c\u0001\u016c"+
52797 "\u0003\u016c\u1468\b\u016c\u0001\u016c\u0003\u016c\u146b\b\u016c\u0001"+
52798 "\u016c\u0001\u016c\u0003\u016c\u146f\b\u016c\u0001\u016c\u0001\u016c\u0001"+
52799 "\u016c\u0003\u016c\u1474\b\u016c\u0001\u016c\u0001\u016c\u0001\u016c\u0001"+
52800 "\u016c\u0003\u016c\u147a\b\u016c\u0003\u016c\u147c\b\u016c\u0001\u016d"+
52801 "\u0001\u016d\u0001\u016d\u0001\u016d\u0003\u016d\u1482\b\u016d\u0001\u016e"+
52802 "\u0001\u016e\u0001\u016e\u0001\u016f\u0001\u016f\u0001\u016f\u0001\u016f"+
52803 "\u0001\u016f\u0005\u016f\u148c\b\u016f\n\u016f\f\u016f\u148f\t\u016f\u0001"+
52804 "\u0170\u0001\u0170\u0001\u0170\u0001\u0171\u0001\u0171\u0001\u0171\u0001"+
52805 "\u0171\u0001\u0172\u0001\u0172\u0001\u0172\u0001\u0173\u0001\u0173\u0001"+
52806 "\u0173\u0005\u0173\u149e\b\u0173\n\u0173\f\u0173\u14a1\t\u0173\u0001\u0174"+
52807 "\u0001\u0174\u0003\u0174\u14a5\b\u0174\u0001\u0174\u0001\u0174\u0001\u0174"+
52808 "\u0001\u0175\u0001\u0175\u0001\u0175\u0003\u0175\u14ad\b\u0175\u0001\u0175"+
52809 "\u0001\u0175\u0001\u0175\u0003\u0175\u14b2\b\u0175\u0003\u0175\u14b4\b"+
52810 "\u0175\u0001\u0176\u0001\u0176\u0001\u0176\u0005\u0176\u14b9\b\u0176\n"+
52811 "\u0176\f\u0176\u14bc\t\u0176\u0001\u0177\u0001\u0177\u0001\u0177\u0001"+
52812 "\u0177\u0003\u0177\u14c2\b\u0177\u0001\u0177\u0003\u0177\u14c5\b\u0177"+
52813 "\u0001\u0178\u0001\u0178\u0001\u0178\u0001\u0179\u0001\u0179\u0001\u0179"+
52814 "\u0003\u0179\u14cd\b\u0179\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a"+
52815 "\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a"+
52816 "\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a"+
52817 "\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a"+
52818 "\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a"+
52819 "\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a"+
52820 "\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a"+
52821 "\u0005\u017a\u14f7\b\u017a\n\u017a\f\u017a\u14fa\t\u017a\u0001\u017a\u0001"+
52822 "\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001"+
52823 "\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001"+
52824 "\u017a\u0001\u017a\u0001\u017a\u0005\u017a\u150c\b\u017a\n\u017a\f\u017a"+
52825 "\u150f\t\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0001\u017a\u0003\u017a"+
52826 "\u1515\b\u017a\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b"+
52827 "\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b"+
52828 "\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b"+
52829 "\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b"+
52830 "\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b"+
52831 "\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b"+
52832 "\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b"+
52833 "\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b"+
52834 "\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b\u0001\u017b"+
52835 "\u0001\u017b\u0003\u017b\u154d\b\u017b\u0001\u017c\u0001\u017c\u0001\u017c"+
52836 "\u0001\u017c\u0003\u017c\u1553\b\u017c\u0001\u017d\u0001\u017d\u0001\u017d"+
52837 "\u0001\u017d\u0001\u017d\u0001\u017d\u0003\u017d\u155b\b\u017d\u0001\u017d"+
52838 "\u0003\u017d\u155e\b\u017d\u0001\u017d\u0001\u017d\u0001\u017d\u0001\u017d"+
52839 "\u0001\u017d\u0001\u017d\u0001\u017d\u0001\u017d\u0003\u017d\u1568\b\u017d"+
52840 "\u0003\u017d\u156a\b\u017d\u0003\u017d\u156c\b\u017d\u0001\u017d\u0001"+
52841 "\u017d\u0001\u017d\u0003\u017d\u1571\b\u017d\u0003\u017d\u1573\b\u017d"+
52842 "\u0003\u017d\u1575\b\u017d\u0001\u017d\u0001\u017d\u0001\u017d\u0001\u017d"+
52843 "\u0003\u017d\u157b\b\u017d\u0003\u017d\u157d\b\u017d\u0001\u017d\u0001"+
52844 "\u017d\u0001\u017d\u0001\u017d\u0001\u017d\u0003\u017d\u1584\b\u017d\u0001"+
52845 "\u017d\u0001\u017d\u0001\u017d\u0001\u017d\u0003\u017d\u158a\b\u017d\u0003"+
52846 "\u017d\u158c\b\u017d\u0003\u017d\u158e\b\u017d\u0003\u017d\u1590\b\u017d"+
52847 "\u0001\u017e\u0001\u017e\u0001\u017e\u0003\u017e\u1595\b\u017e\u0001\u017e"+
52848 "\u0001\u017e\u0003\u017e\u1599\b\u017e\u0001\u017e\u0001\u017e\u0001\u017e"+
52849 "\u0001\u017e\u0001\u017e\u0001\u017e\u0003\u017e\u15a1\b\u017e\u0003\u017e"+
52850 "\u15a3\b\u017e\u0001\u017f\u0001\u017f\u0001\u017f\u0001\u017f\u0001\u017f"+
52851 "\u0001\u017f\u0001\u017f\u0001\u017f\u0003\u017f\u15ad\b\u017f\u0003\u017f"+
52852 "\u15af\b\u017f\u0001\u017f\u0001\u017f\u0003\u017f\u15b3\b\u017f\u0001"+
52853 "\u017f\u0001\u017f\u0003\u017f\u15b7\b\u017f\u0003\u017f\u15b9\b\u017f"+
52854 "\u0001\u0180\u0001\u0180\u0001\u0180\u0003\u0180\u15be\b\u0180\u0003\u0180"+
52855 "\u15c0\b\u0180\u0001\u0180\u0003\u0180\u15c3\b\u0180\u0001\u0181\u0001"+
52856 "\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0005\u0181\u15ca\b\u0181\n"+
52857 "\u0181\f\u0181\u15cd\t\u0181\u0001\u0181\u0001\u0181\u0001\u0182\u0001"+
52858 "\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0003\u0182\u15d6\b\u0182\u0001"+
52859 "\u0183\u0001\u0183\u0001\u0184\u0001\u0184\u0001\u0185\u0001\u0185\u0001"+
52860 "\u0185\u0001\u0186\u0001\u0186\u0001\u0186\u0003\u0186\u15e2\b\u0186\u0001"+
52861 "\u0187\u0001\u0187\u0001\u0187\u0003\u0187\u15e7\b\u0187\u0001\u0187\u0001"+
52862 "\u0187\u0001\u0187\u0001\u0187\u0005\u0187\u15ed\b\u0187\n\u0187\f\u0187"+
52863 "\u15f0\t\u0187\u0001\u0187\u0001\u0187\u0001\u0187\u0003\u0187\u15f5\b"+
52864 "\u0187\u0001\u0187\u0001\u0187\u0003\u0187\u15f9\b\u0187\u0001\u0188\u0001"+
52865 "\u0188\u0001\u0188\u0003\u0188\u15fe\b\u0188\u0001\u0188\u0001\u0188\u0001"+
52866 "\u0188\u0001\u0188\u0005\u0188\u1604\b\u0188\n\u0188\f\u0188\u1607\t\u0188"+
52867 "\u0001\u0188\u0001\u0188\u0001\u0188\u0003\u0188\u160c\b\u0188\u0001\u0189"+
52868 "\u0001\u0189\u0003\u0189\u1610\b\u0189\u0001\u0189\u0001\u0189\u0001\u0189"+
52869 "\u0003\u0189\u1615\b\u0189\u0005\u0189\u1617\b\u0189\n\u0189\f\u0189\u161a"+
52870 "\t\u0189\u0001\u018a\u0001\u018a\u0001\u018a\u0001\u018a\u0003\u018a\u1620"+
52871 "\b\u018a\u0001\u018a\u0001\u018a\u0001\u018b\u0001\u018b\u0001\u018b\u0005"+
52872 "\u018b\u1627\b\u018b\n\u018b\f\u018b\u162a\t\u018b\u0001\u018c\u0001\u018c"+
52873 "\u0001\u018c\u0001\u018c\u0003\u018c\u1630\b\u018c\u0001\u018c\u0001\u018c"+
52874 "\u0001\u018d\u0001\u018d\u0001\u018d\u0003\u018d\u1637\b\u018d\u0001\u018d"+
52875 "\u0001\u018d\u0001\u018e\u0001\u018e\u0001\u018f\u0001\u018f\u0003\u018f"+
52876 "\u163f\b\u018f\u0001\u018f\u0001\u018f\u0003\u018f\u1643\b\u018f\u0001"+
52877 "\u0190\u0001\u0190\u0001\u0190\u0003\u0190\u1648\b\u0190\u0001\u0190\u0001"+
52878 "\u0190\u0001\u0190\u0001\u0190\u0005\u0190\u164e\b\u0190\n\u0190\f\u0190"+
52879 "\u1651\t\u0190\u0001\u0190\u0003\u0190\u1654\b\u0190\u0001\u0190\u0001"+
52880 "\u0190\u0003\u0190\u1658\b\u0190\u0001\u0191\u0001\u0191\u0001\u0191\u0003"+
52881 "\u0191\u165d\b\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0005"+
52882 "\u0191\u1663\b\u0191\n\u0191\f\u0191\u1666\t\u0191\u0001\u0191\u0003\u0191"+
52883 "\u1669\b\u0191\u0001\u0192\u0001\u0192\u0001\u0192\u0003\u0192\u166e\b"+
52884 "\u0192\u0001\u0193\u0001\u0193\u0001\u0193\u0003\u0193\u1673\b\u0193\u0001"+
52885 "\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0005\u0193\u1679\b\u0193\n"+
52886 "\u0193\f\u0193\u167c\t\u0193\u0001\u0193\u0003\u0193\u167f\b\u0193\u0001"+
52887 "\u0193\u0001\u0193\u0003\u0193\u1683\b\u0193\u0001\u0194\u0001\u0194\u0001"+
52888 "\u0194\u0003\u0194\u1688\b\u0194\u0001\u0194\u0001\u0194\u0001\u0194\u0001"+
52889 "\u0194\u0005\u0194\u168e\b\u0194\n\u0194\f\u0194\u1691\t\u0194\u0001\u0194"+
52890 "\u0003\u0194\u1694\b\u0194\u0001\u0195\u0001\u0195\u0001\u0195\u0001\u0195"+
52891 "\u0001\u0196\u0001\u0196\u0003\u0196\u169c\b\u0196\u0001\u0196\u0001\u0196"+
52892 "\u0001\u0196\u0001\u0196\u0001\u0196\u0001\u0196\u0001\u0196\u0001\u0196"+
52893 "\u0001\u0196\u0001\u0196\u0001\u0196\u0001\u0196\u0001\u0196\u0001\u0196"+
52894 "\u0001\u0196\u0001\u0196\u0001\u0196\u0001\u0196\u0001\u0196\u0003\u0196"+
52895 "\u16b1\b\u0196\u0001\u0197\u0001\u0197\u0001\u0197\u0001\u0197\u0001\u0197"+
52896 "\u0001\u0197\u0001\u0197\u0001\u0197\u0001\u0197\u0001\u0197\u0001\u0197"+
52897 "\u0001\u0197\u0001\u0197\u0001\u0197\u0001\u0197\u0001\u0197\u0003\u0197"+
52898 "\u16c3\b\u0197\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198"+
52899 "\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0003\u0198\u16ce\b\u0198"+
52900 "\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198"+
52901 "\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198"+
52902 "\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198"+
52903 "\u0001\u0198\u0003\u0198\u16e3\b\u0198\u0001\u0198\u0001\u0198\u0001\u0198"+
52904 "\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198"+
52905 "\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198"+
52906 "\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198"+
52907 "\u0001\u0198\u0001\u0198\u0001\u0198\u0003\u0198\u16fd\b\u0198\u0001\u0198"+
52908 "\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198"+
52909 "\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198"+
52910 "\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198"+
52911 "\u0003\u0198\u1712\b\u0198\u0001\u0199\u0001\u0199\u0003\u0199\u1716\b"+
52912 "\u0199\u0001\u0199\u0001\u0199\u0001\u0199\u0003\u0199\u171b\b\u0199\u0001"+
52913 "\u0199\u0001\u0199\u0001\u0199\u0001\u0199\u0001\u0199\u0001\u0199\u0001"+
52914 "\u0199\u0003\u0199\u1724\b\u0199\u0003\u0199\u1726\b\u0199\u0001\u019a"+
52915 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52916 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52917 "\u0001\u019a\u0001\u019a\u0001\u019a\u0003\u019a\u1738\b\u019a\u0001\u019a"+
52918 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52919 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52920 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0003\u019a"+
52921 "\u174c\b\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52922 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0003\u019a\u1757\b\u019a"+
52923 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52924 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52925 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0003\u019a"+
52926 "\u176a\b\u019a\u0001\u019a\u0001\u019a\u0003\u019a\u176e\b\u019a\u0001"+
52927 "\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0003"+
52928 "\u019a\u1776\b\u019a\u0001\u019a\u0001\u019a\u0003\u019a\u177a\b\u019a"+
52929 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52930 "\u0001\u019a\u0001\u019a\u0001\u019a\u0003\u019a\u1785\b\u019a\u0001\u019a"+
52931 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52932 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52933 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52934 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52935 "\u0001\u019a\u0003\u019a\u17a1\b\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52936 "\u0001\u019a\u0003\u019a\u17a7\b\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52937 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52938 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52939 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52940 "\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52941 "\u0003\u019a\u17c4\b\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
52942 "\u0001\u019a\u0003\u019a\u17cb\b\u019a\u0001\u019a\u0001\u019a\u0003\u019a"+
52943 "\u17cf\b\u019a\u0001\u019b\u0001\u019b\u0001\u019b\u0003\u019b\u17d4\b"+
52944 "\u019b\u0001\u019c\u0001\u019c\u0001\u019c\u0001\u019c\u0001\u019c\u0001"+
52945 "\u019c\u0001\u019c\u0001\u019c\u0003\u019c\u17de\b\u019c\u0001\u019d\u0001"+
52946 "\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0001"+
52947 "\u019d\u0001\u019d\u0003\u019d\u17e9\b\u019d\u0001\u019e\u0001\u019e\u0001"+
52948 "\u019e\u0001\u019e\u0001\u019e\u0001\u019e\u0001\u019e\u0001\u019e\u0003"+
52949 "\u019e\u17f3\b\u019e\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001"+
52950 "\u019f\u0001\u019f\u0001\u019f\u0003\u019f\u17fc\b\u019f\u0001\u01a0\u0001"+
52951 "\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001"+
52952 "\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001"+
52953 "\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001"+
52954 "\u01a0\u0003\u01a0\u1812\b\u01a0\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001"+
52955 "\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001"+
52956 "\u01a1\u0001\u01a1\u0003\u01a1\u181f\b\u01a1\u0001\u01a2\u0001\u01a2\u0001"+
52957 "\u01a2\u0001\u01a2\u0001\u01a2\u0003\u01a2\u1826\b\u01a2\u0001\u01a3\u0001"+
52958 "\u01a3\u0001\u01a3\u0001\u01a3\u0001\u01a3\u0001\u01a3\u0001\u01a3\u0001"+
52959 "\u01a3\u0001\u01a3\u0001\u01a3\u0003\u01a3\u1832\b\u01a3\u0001\u01a4\u0001"+
52960 "\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0001"+
52961 "\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0003\u01a4\u183f\b\u01a4\u0001"+
52962 "\u01a5\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0001"+
52963 "\u01a5\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0003\u01a5\u184c"+
52964 "\b\u01a5\u0001\u01a6\u0001\u01a6\u0001\u01a6\u0001\u01a6\u0001\u01a6\u0001"+
52965 "\u01a6\u0001\u01a6\u0001\u01a6\u0001\u01a6\u0003\u01a6\u1857\b\u01a6\u0001"+
52966 "\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001"+
52967 "\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0003\u01a7\u1863\b\u01a7\u0001"+
52968 "\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0003\u01a8\u1869\b\u01a8\u0001"+
52969 "\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0003\u01a8\u186f\b\u01a8\u0001"+
52970 "\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0003\u01a8\u1875\b\u01a8\u0001"+
52971 "\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001"+
52972 "\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0003\u01a9\u1881\b\u01a9\u0001"+
52973 "\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001"+
52974 "\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0003\u01aa\u188e"+
52975 "\b\u01aa\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001"+
52976 "\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0003"+
52977 "\u01ab\u189b\b\u01ab\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001"+
52978 "\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0003"+
52979 "\u01ac\u18a7\b\u01ac\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0003"+
52980 "\u01ad\u18ad\b\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0003"+
52981 "\u01ad\u18b3\b\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0001"+
52982 "\u01ad\u0003\u01ad\u18ba\b\u01ad\u0001\u01ae\u0001\u01ae\u0003\u01ae\u18be"+
52983 "\b\u01ae\u0001\u01af\u0001\u01af\u0001\u01af\u0001\u01af\u0001\u01af\u0001"+
52984 "\u01af\u0001\u01af\u0001\u01af\u0001\u01af\u0001\u01af\u0001\u01af\u0003"+
52985 "\u01af\u18cb\b\u01af\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0001"+
52986 "\u01b0\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0001"+
52987 "\u01b0\u0003\u01b0\u18d8\b\u01b0\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001"+
52988 "\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0003\u01b1\u18e1\b\u01b1\u0001"+
52989 "\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001"+
52990 "\u01b2\u0001\u01b2\u0003\u01b2\u18eb\b\u01b2\u0001\u01b3\u0001\u01b3\u0001"+
52991 "\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b5\u0001\u01b5\u0001"+
52992 "\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001"+
52993 "\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001"+
52994 "\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001"+
52995 "\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001"+
52996 "\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001"+
52997 "\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001"+
52998 "\u01b5\u0001\u01b5\u0003\u01b5\u191b\b\u01b5\u0001\u01b6\u0001\u01b6\u0001"+
52999 "\u01b7\u0001\u01b7\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0003"+
53000 "\u01b8\u1925\b\u01b8\u0003\u01b8\u1927\b\u01b8\u0001\u01b9\u0001\u01b9"+
53001 "\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9"+
53002 "\u0001\u01b9\u0001\u01b9\u0003\u01b9\u1933\b\u01b9\u0001\u01ba\u0001\u01ba"+
53003 "\u0001\u01ba\u0001\u01ba\u0003\u01ba\u1939\b\u01ba\u0001\u01ba\u0001\u01ba"+
53004 "\u0001\u01ba\u0001\u01ba\u0005\u01ba\u193f\b\u01ba\n\u01ba\f\u01ba\u1942"+
53005 "\t\u01ba\u0003\u01ba\u1944\b\u01ba\u0001\u01bb\u0001\u01bb\u0001\u01bb"+
53006 "\u0001\u01bb\u0001\u01bb\u0005\u01bb\u194b\b\u01bb\n\u01bb\f\u01bb\u194e"+
53007 "\t\u01bb\u0003\u01bb\u1950\b\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb"+
53008 "\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb"+
53009 "\u0005\u01bb\u195b\b\u01bb\n\u01bb\f\u01bb\u195e\t\u01bb\u0003\u01bb\u1960"+
53010 "\b\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0003"+
53011 "\u01bb\u1967\b\u01bb\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0003"+
53012 "\u01bc\u196d\b\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001"+
53013 "\u01bc\u0003\u01bc\u1974\b\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001"+
53014 "\u01bc\u0005\u01bc\u197a\b\u01bc\n\u01bc\f\u01bc\u197d\t\u01bc\u0003\u01bc"+
53015 "\u197f\b\u01bc\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0001\u01bd"+
53016 "\u0001\u01bd\u0001\u01bd\u0005\u01bd\u1988\b\u01bd\n\u01bd\f\u01bd\u198b"+
53017 "\t\u01bd\u0003\u01bd\u198d\b\u01bd\u0001\u01bd\u0001\u01bd\u0001\u01bd"+
53018 "\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0003\u01bd\u1996\b\u01bd"+
53019 "\u0001\u01be\u0001\u01be\u0001\u01be\u0001\u01be\u0001\u01be\u0001\u01be"+
53020 "\u0001\u01be\u0003\u01be\u199f\b\u01be\u0001\u01be\u0001\u01be\u0001\u01be"+
53021 "\u0001\u01be\u0001\u01be\u0001\u01be\u0003\u01be\u19a7\b\u01be\u0003\u01be"+
53022 "\u19a9\b\u01be\u0001\u01bf\u0001\u01bf\u0001\u01bf\u0001\u01bf\u0001\u01bf"+
53023 "\u0001\u01bf\u0001\u01bf\u0003\u01bf\u19b2\b\u01bf\u0001\u01bf\u0001\u01bf"+
53024 "\u0001\u01bf\u0003\u01bf\u19b7\b\u01bf\u0003\u01bf\u19b9\b\u01bf\u0001"+
53025 "\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0003\u01c0\u19bf\b\u01c0\u0001"+
53026 "\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001"+
53027 "\u01c0\u0005\u01c0\u19c8\b\u01c0\n\u01c0\f\u01c0\u19cb\t\u01c0\u0003\u01c0"+
53028 "\u19cd\b\u01c0\u0003\u01c0\u19cf\b\u01c0\u0001\u01c1\u0001\u01c1\u0001"+
53029 "\u01c1\u0001\u01c1\u0001\u01c1\u0001\u01c1\u0003\u01c1\u19d7\b\u01c1\u0001"+
53030 "\u01c1\u0001\u01c1\u0001\u01c1\u0001\u01c1\u0003\u01c1\u19dd\b\u01c1\u0001"+
53031 "\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0001"+
53032 "\u01c2\u0001\u01c2\u0003\u01c2\u19e7\b\u01c2\u0001\u01c3\u0001\u01c3\u0001"+
53033 "\u01c4\u0001\u01c4\u0001\u01c5\u0001\u01c5\u0001\u01c6\u0001\u01c6\u0001"+
53034 "\u01c6\u0003\u01c6\u19f2\b\u01c6\u0001\u01c7\u0001\u01c7\u0001\u01c7\u0003"+
53035 "\u01c7\u19f7\b\u01c7\u0001\u01c7\u0001\u01c7\u0001\u01c8\u0001\u01c8\u0001"+
53036 "\u01c8\u0001\u01c8\u0001\u01c8\u0001\u01c8\u0001\u01c8\u0005\u01c8\u1a02"+
53037 "\b\u01c8\n\u01c8\f\u01c8\u1a05\t\u01c8\u0001\u01c8\u0001\u01c8\u0001\u01c8"+
53038 "\u0003\u01c8\u1a0a\b\u01c8\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9"+
53039 "\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0003\u01c9\u1a13\b\u01c9\u0001\u01c9"+
53040 "\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9"+
53041 "\u0001\u01c9\u0001\u01c9\u0003\u01c9\u1a1e\b\u01c9\u0001\u01c9\u0001\u01c9"+
53042 "\u0001\u01c9\u0001\u01c9\u0003\u01c9\u1a24\b\u01c9\u0001\u01c9\u0001\u01c9"+
53043 "\u0001\u01c9\u0003\u01c9\u1a29\b\u01c9\u0003\u01c9\u1a2b\b\u01c9\u0001"+
53044 "\u01ca\u0001\u01ca\u0001\u01ca\u0001\u01ca\u0001\u01ca\u0003\u01ca\u1a32"+
53045 "\b\u01ca\u0001\u01cb\u0001\u01cb\u0001\u01cb\u0003\u01cb\u1a37\b\u01cb"+
53046 "\u0001\u01cb\u0001\u01cb\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc"+
53047 "\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc"+
53048 "\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0003\u01cc\u1a48\b\u01cc\u0001\u01cd"+
53049 "\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0001\u01cd"+
53050 "\u0001\u01cd\u0003\u01cd\u1a52\b\u01cd\u0001\u01ce\u0001\u01ce\u0001\u01ce"+
53051 "\u0001\u01ce\u0003\u01ce\u1a58\b\u01ce\u0001\u01cf\u0001\u01cf\u0001\u01cf"+
53052 "\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0003\u01cf\u1a60\b\u01cf\u0001\u01cf"+
53053 "\u0003\u01cf\u1a63\b\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf"+
53054 "\u0005\u01cf\u1a69\b\u01cf\n\u01cf\f\u01cf\u1a6c\t\u01cf\u0003\u01cf\u1a6e"+
53055 "\b\u01cf\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001"+
53056 "\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001"+
53057 "\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001"+
53058 "\u01d0\u0003\u01d0\u1a82\b\u01d0\u0001\u01d1\u0001\u01d1\u0001\u01d2\u0001"+
53059 "\u01d2\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0005"+
53060 "\u01d3\u1a8d\b\u01d3\n\u01d3\f\u01d3\u1a90\t\u01d3\u0003\u01d3\u1a92\b"+
53061 "\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0003"+
53062 "\u01d3\u1a99\b\u01d3\u0001\u01d4\u0001\u01d4\u0001\u01d4\u0001\u01d4\u0001"+
53063 "\u01d4\u0001\u01d4\u0003\u01d4\u1aa1\b\u01d4\u0001\u01d5\u0001\u01d5\u0001"+
53064 "\u01d5\u0001\u01d5\u0001\u01d5\u0001\u01d5\u0001\u01d5\u0005\u01d5\u1aaa"+
53065 "\b\u01d5\n\u01d5\f\u01d5\u1aad\t\u01d5\u0003\u01d5\u1aaf\b\u01d5\u0001"+
53066 "\u01d6\u0001\u01d6\u0001\u01d6\u0001\u01d6\u0001\u01d6\u0001\u01d6\u0001"+
53067 "\u01d6\u0003\u01d6\u1ab8\b\u01d6\u0001\u01d7\u0001\u01d7\u0001\u01d7\u0003"+
53068 "\u01d7\u1abd\b\u01d7\u0001\u01d7\u0001\u01d7\u0001\u01d7\u0001\u01d7\u0005"+
53069 "\u01d7\u1ac3\b\u01d7\n\u01d7\f\u01d7\u1ac6\t\u01d7\u0001\u01d8\u0001\u01d8"+
53070 "\u0001\u01d8\u0001\u01d8\u0001\u01d8\u0001\u01d8\u0001\u01d8\u0001\u01d8"+
53071 "\u0001\u01d8\u0001\u01d8\u0001\u01d8\u0001\u01d8\u0003\u01d8\u1ad4\b\u01d8"+
53072 "\u0001\u01d9\u0001\u01d9\u0001\u01d9\u0001\u01da\u0001\u01da\u0001\u01da"+
53073 "\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0003\u01da\u1ae0\b\u01da"+
53074 "\u0001\u01db\u0001\u01db\u0001\u01db\u0001\u01db\u0003\u01db\u1ae6\b\u01db"+
53075 "\u0001\u01dc\u0001\u01dc\u0001\u01dc\u0001\u01dc\u0003\u01dc\u1aec\b\u01dc"+
53076 "\u0001\u01dc\u0001\u01dc\u0001\u01dc\u0001\u01dc\u0005\u01dc\u1af2\b\u01dc"+
53077 "\n\u01dc\f\u01dc\u1af5\t\u01dc\u0003\u01dc\u1af7\b\u01dc\u0001\u01dd\u0001"+
53078 "\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0003\u01dd\u1aff"+
53079 "\b\u01dd\u0001\u01de\u0001\u01de\u0001\u01de\u0001\u01de\u0001\u01df\u0001"+
53080 "\u01df\u0001\u01df\u0001\u01df\u0001\u01df\u0001\u01df\u0001\u01df\u0001"+
53081 "\u01df\u0005\u01df\u1b0d\b\u01df\n\u01df\f\u01df\u1b10\t\u01df\u0001\u01df"+
53082 "\u0003\u01df\u1b13\b\u01df\u0001\u01e0\u0001\u01e0\u0001\u01e1\u0001\u01e1"+
53083 "\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0003\u01e1\u1b1d\b\u01e1"+
53084 "\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0003\u01e1"+
53085 "\u1b24\b\u01e1\u0003\u01e1\u1b26\b\u01e1\u0001\u01e1\u0001\u01e1\u0001"+
53086 "\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001"+
53087 "\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001"+
53088 "\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0003"+
53089 "\u01e1\u1b3c\b\u01e1\u0001\u01e2\u0001\u01e2\u0001\u01e3\u0001\u01e3\u0001"+
53090 "\u01e3\u0001\u01e3\u0001\u01e3\u0001\u01e3\u0003\u01e3\u1b46\b\u01e3\u0001"+
53091 "\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0003\u01e4\u1b4d"+
53092 "\b\u01e4\u0001\u01e4\u0000\u0004bjpr\u01e5\u0000\u0002\u0004\u0006\b\n"+
53093 "\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.0246"+
53094 "8:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a"+
53095 "\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2"+
53096 "\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba"+
53097 "\u00bc\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2"+
53098 "\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u00e8\u00ea"+
53099 "\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe\u0100\u0102"+
53100 "\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a"+
53101 "\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132"+
53102 "\u0134\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u014a"+
53103 "\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162"+
53104 "\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u017a"+
53105 "\u017c\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c\u018e\u0190\u0192"+
53106 "\u0194\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa"+
53107 "\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2"+
53108 "\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da"+
53109 "\u01dc\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f0\u01f2"+
53110 "\u01f4\u01f6\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a"+
53111 "\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222"+
53112 "\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u0234\u0236\u0238\u023a"+
53113 "\u023c\u023e\u0240\u0242\u0244\u0246\u0248\u024a\u024c\u024e\u0250\u0252"+
53114 "\u0254\u0256\u0258\u025a\u025c\u025e\u0260\u0262\u0264\u0266\u0268\u026a"+
53115 "\u026c\u026e\u0270\u0272\u0274\u0276\u0278\u027a\u027c\u027e\u0280\u0282"+
53116 "\u0284\u0286\u0288\u028a\u028c\u028e\u0290\u0292\u0294\u0296\u0298\u029a"+
53117 "\u029c\u029e\u02a0\u02a2\u02a4\u02a6\u02a8\u02aa\u02ac\u02ae\u02b0\u02b2"+
53118 "\u02b4\u02b6\u02b8\u02ba\u02bc\u02be\u02c0\u02c2\u02c4\u02c6\u02c8\u02ca"+
53119 "\u02cc\u02ce\u02d0\u02d2\u02d4\u02d6\u02d8\u02da\u02dc\u02de\u02e0\u02e2"+
53120 "\u02e4\u02e6\u02e8\u02ea\u02ec\u02ee\u02f0\u02f2\u02f4\u02f6\u02f8\u02fa"+
53121 "\u02fc\u02fe\u0300\u0302\u0304\u0306\u0308\u030a\u030c\u030e\u0310\u0312"+
53122 "\u0314\u0316\u0318\u031a\u031c\u031e\u0320\u0322\u0324\u0326\u0328\u032a"+
53123 "\u032c\u032e\u0330\u0332\u0334\u0336\u0338\u033a\u033c\u033e\u0340\u0342"+
53124 "\u0344\u0346\u0348\u034a\u034c\u034e\u0350\u0352\u0354\u0356\u0358\u035a"+
53125 "\u035c\u035e\u0360\u0362\u0364\u0366\u0368\u036a\u036c\u036e\u0370\u0372"+
53126 "\u0374\u0376\u0378\u037a\u037c\u037e\u0380\u0382\u0384\u0386\u0388\u038a"+
53127 "\u038c\u038e\u0390\u0392\u0394\u0396\u0398\u039a\u039c\u039e\u03a0\u03a2"+
53128 "\u03a4\u03a6\u03a8\u03aa\u03ac\u03ae\u03b0\u03b2\u03b4\u03b6\u03b8\u03ba"+
53129 "\u03bc\u03be\u03c0\u03c2\u03c4\u03c6\u03c8\u0000`\u0001\u0000ab\u0002"+
53130 "\u0000\u00ef\u00ef\u012a\u012a\u0002\u0000\u02b7\u02b7\u02be\u02be\u0001"+
53131 "\u0000\u000f\u0010\u0001\u0000\u0087\u0089\u0001\u0000mn7\u000056==EG"+
53132 "RRTTbbvv{|\u0080\u0081\u0085\u0085\u0087\u0087\u008a\u008b\u008d\u008d"+
53133 "\u008f\u0090\u0093\u0099\u009c\u009d\u009f\u009f\u00a1\u00a2\u00a4\u00a6"+
53134 "\u00a9\u00aa\u00ad\u00ad\u00b0\u00b0\u00b8\u00b8\u00c2\u00c2\u00cb\u00cc"+
53135 "\u00d0\u00d1\u00d5\u00d5\u00d9\u00d9\u00db\u00e1\u00e3\u00e4\u00ed\u00ee"+
53136 "\u00f1\u00f5\u00f7\u00f8\u00fa\u0104\u0106\u010b\u010d\u0115\u0117\u012b"+
53137 "\u0133\u01a5\u01a7\u01a7\u01ad\u01ad\u01b9\u01bb\u01e0\u01e0\u01e2\u01e8"+
53138 "\u01ea\u01ef\u01f2\u01f2\u01f4\u01f9\u01fe\u01fe\u0203\u0204\u0206\u0208"+
53139 "\u020a\u020c\u020e\u0217\u0222\u0283\u028c\u028c\u0291\u0291\u0295\u0295"+
53140 "\u0002\u0000\u02b5\u02b5\u02b7\u02b7\u0002\u0000\u0004\u0004hh\u0002\u0000"+
53141 "\u0005\u0005ii\u0002\u0000\u0006\u0006kk\u0002\u0000ln\u00e2\u00e2\u0001"+
53142 "\u0000rs\u0001\u0000\u0018\u001d\u0003\u0000\u0006\u0007\u000f\u0010\u00d9"+
53143 "\u00d9\u0001\u0000\u0095\u0099\u0001\u0000\u00e0\u00e1\u0002\u0000\u00a9"+
53144 "\u00a9\u01a7\u01a7\u0001\u0000xy\u0002\u0000\u00f8\u00f8\u0102\u0102\b"+
53145 "\u0000\u0083\u0083\u0087\u0088\u00ad\u00af\u00b1\u00b9\u00d9\u00d9\u014c"+
53146 "\u014c\u01a9\u01b8\u02b5\u02b5\u0002\u0000\u00e1\u00e1\u0120\u0120\u0002"+
53147 "\u0000\u0184\u0184\u0195\u0195\u0005\u0000\u00e0\u00e0\u00f7\u00f7\u0116"+
53148 "\u0116\u011a\u011a\u0181\u0181\t\u0000\u0118\u0118\u0124\u0124\u017d\u017e"+
53149 "\u0184\u0184\u018d\u018e\u0192\u0193\u0198\u0198\u01a4\u01a4\u01da\u01da"+
53150 "\u0003\u0000\u00f3\u00f3\u0116\u0116\u0127\u0127\u0001\u0000\u012d\u012e"+
53151 "\u0002\u0000\u00b0\u00b0\u0117\u0117\u0001\u0000HI\u0002\u0000\u00ba\u00ba"+
53152 "\u00e1\u00e1\u0002\u0000\u00ee\u00ee\u0105\u0105\u0002\u0000\u0100\u0100"+
53153 "\u011f\u011f\u0001\u0000\u00f4\u00f5\u0001\u000001\u0002\u0000ll\u009a"+
53154 "\u009a\u0003\u0000\u00e0\u00e0\u0116\u0116\u011a\u011a\u0002\u0000\u010d"+
53155 "\u010e\u011b\u011b\u0001\u0000\u0190\u0191\u0001\u0000[\\\u0002\u0000"+
53156 "\u00e6\u00e6\u0115\u0115\u0001\u0000\u009c\u009d\u0003\u0000\u008c\u008c"+
53157 "\u008e\u0090\u00fa\u00fd\u0003\u0000;;\u009d\u009d\u00f2\u00f2\u0002\u0000"+
53158 "\u0116\u0116\u01df\u01df\u0003\u0000XXbb\u00cb\u00cb\u0001\u0000\u01e5"+
53159 "\u01e8\u0002\u0000\r\r\u01e5\u01e8\u0001\u0000\u01ef\u01f0\u0001\u0000"+
53160 "\u01f1\u01f4\u0002\u0000\u00cb\u00cb\u01f5\u01f6\u0003\u0000\u00d3\u00d3"+
53161 "\u01b9\u01b9\u01fd\u01fd\u0003\u0000\u015d\u015d\u01f8\u01f8\u0208\u0208"+
53162 "\u0002\u0000\u00ee\u00ee\u0211\u0211\u0002\u0000rr\u00e8\u00e8\u0001\u0000"+
53163 "\u0271\u0272\u0001\u0000\u01e6\u01e7\u0003\u0000ab\u0215\u0215\u026b\u026b"+
53164 "\u0002\u0000\u0118\u0118\u0269\u026a\u0002\u0000\u00cb\u00cb\u0220\u0220"+
53165 "\u0001\u0000\u0266\u0268\u0002\u0000\u00c9\u00c9\u0263\u0264\u0001\u0000"+
53166 "\u00c8\u00c9\u0001\u0000\u021d\u021e\u0002\u0000\u00d3\u00d3\u021f\u021f"+
53167 "\u0002\u0000\u00fd\u00fe\u0253\u0253\u0002\u0000\u00a6\u00a6\u0251\u0251"+
53168 "\u0002\u0000bb\u00f2\u00f2\u0004\u0000rr\u00f2\u00f2\u0116\u0116\u024c"+
53169 "\u024c\u0002\u0000\u00fd\u00fd\u0253\u0253\u0003\u0000XX\u00c8\u00c8\u023d"+
53170 "\u023d\u0002\u0000\u0116\u0116\u023b\u023c\u0002\u0000\u00fe\u00fe\u0227"+
53171 "\u0227\u0002\u0000OOrr\u0002\u0000YY]]\u0002\u0000XX[\\\u0002\u0000ZZ"+
53172 "]]\u0001\u0000\u01ba\u01bb\u0002\u0000uu\u010a\u010a\u0003\u0000\u00bf"+
53173 "\u00bf\u010a\u010a\u0134\u0134\u0002\u0000\u00bf\u00c0\u010a\u010a\u0002"+
53174 "\u0000\u009d\u009d\u00c4\u00c4\u0001\u0000\u02a4\u02a5\u0002\u0000\u00f2"+
53175 "\u00f2\u02a7\u02a7\u0002\u0000UUgg\u0002\u0000\u00cc\u00cc\u0137\u0137"+
53176 "\u0002\u0000\u012f\u012f\u0148\u0148\u0002\u0000\u00cc\u00cc\u0175\u0175"+
53177 "\u0001\u0000\u013a\u013b\u0001\u0000\u015d\u015e\u0002\u0000\u00cc\u00cc"+
53178 "\u013c\u013c\u0002\u0000..\u012d\u012d\u0002\u0000\u0132\u0132\u0290\u0290"+
53179 "\u0005\u000066\u00cc\u00cc\u00ec\u00ed\u0111\u0111\u0117\u0117\u0002\u0000"+
53180 "UUff\u0002\u0000\u02bc\u02bc\u02be\u02be\u0002\u0000\u0297\u0297\u029c"+
53181 "\u029c\u1f2a\u0000\u0405\u0001\u0000\u0000\u0000\u0002\u040a\u0001\u0000"+
53182 "\u0000\u0000\u0004\u0418\u0001\u0000\u0000\u0000\u0006\u041a\u0001\u0000"+
53183 "\u0000\u0000\b\u041e\u0001\u0000\u0000\u0000\n\u0420\u0001\u0000\u0000"+
53184 "\u0000\f\u0430\u0001\u0000\u0000\u0000\u000e\u0437\u0001\u0000\u0000\u0000"+
53185 "\u0010\u0447\u0001\u0000\u0000\u0000\u0012\u044b\u0001\u0000\u0000\u0000"+
53186 "\u0014\u0453\u0001\u0000\u0000\u0000\u0016\u0457\u0001\u0000\u0000\u0000"+
53187 "\u0018\u045d\u0001\u0000\u0000\u0000\u001a\u0466\u0001\u0000\u0000\u0000"+
53188 "\u001c\u0468\u0001\u0000\u0000\u0000\u001e\u046b\u0001\u0000\u0000\u0000"+
53189 " \u0476\u0001\u0000\u0000\u0000\"\u0478\u0001\u0000\u0000\u0000$\u047a"+
53190 "\u0001\u0000\u0000\u0000&\u047c\u0001\u0000\u0000\u0000(\u047e\u0001\u0000"+
53191 "\u0000\u0000*\u0482\u0001\u0000\u0000\u0000,\u0486\u0001\u0000\u0000\u0000"+
53192 ".\u0488\u0001\u0000\u0000\u00000\u048a\u0001\u0000\u0000\u00002\u048c"+
53193 "\u0001\u0000\u0000\u00004\u048e\u0001\u0000\u0000\u00006\u0493\u0001\u0000"+
53194 "\u0000\u00008\u049a\u0001\u0000\u0000\u0000:\u04a4\u0001\u0000\u0000\u0000"+
53195 "<\u04ab\u0001\u0000\u0000\u0000>\u04b2\u0001\u0000\u0000\u0000@\u04c2"+
53196 "\u0001\u0000\u0000\u0000B\u04c9\u0001\u0000\u0000\u0000D\u04cd\u0001\u0000"+
53197 "\u0000\u0000F\u04cf\u0001\u0000\u0000\u0000H\u04d4\u0001\u0000\u0000\u0000"+
53198 "J\u04da\u0001\u0000\u0000\u0000L\u04df\u0001\u0000\u0000\u0000N\u04e1"+
53199 "\u0001\u0000\u0000\u0000P\u04e3\u0001\u0000\u0000\u0000R\u04ee\u0001\u0000"+
53200 "\u0000\u0000T\u04fa\u0001\u0000\u0000\u0000V\u0507\u0001\u0000\u0000\u0000"+
53201 "X\u0509\u0001\u0000\u0000\u0000Z\u050b\u0001\u0000\u0000\u0000\\\u050f"+
53202 "\u0001\u0000\u0000\u0000^\u0511\u0001\u0000\u0000\u0000`\u051c\u0001\u0000"+
53203 "\u0000\u0000b\u0529\u0001\u0000\u0000\u0000d\u0538\u0001\u0000\u0000\u0000"+
53204 "f\u053a\u0001\u0000\u0000\u0000h\u053c\u0001\u0000\u0000\u0000j\u053e"+
53205 "\u0001\u0000\u0000\u0000l\u0558\u0001\u0000\u0000\u0000n\u0585\u0001\u0000"+
53206 "\u0000\u0000p\u0587\u0001\u0000\u0000\u0000r\u05ce\u0001\u0000\u0000\u0000"+
53207 "t\u05db\u0001\u0000\u0000\u0000v\u05dd\u0001\u0000\u0000\u0000x\u05ef"+
53208 "\u0001\u0000\u0000\u0000z\u05f1\u0001\u0000\u0000\u0000|\u05f6\u0001\u0000"+
53209 "\u0000\u0000~\u05f8\u0001\u0000\u0000\u0000\u0080\u05ff\u0001\u0000\u0000"+
53210 "\u0000\u0082\u060a\u0001\u0000\u0000\u0000\u0084\u061a\u0001\u0000\u0000"+
53211 "\u0000\u0086\u0633\u0001\u0000\u0000\u0000\u0088\u0635\u0001\u0000\u0000"+
53212 "\u0000\u008a\u0643\u0001\u0000\u0000\u0000\u008c\u0648\u0001\u0000\u0000"+
53213 "\u0000\u008e\u064f\u0001\u0000\u0000\u0000\u0090\u0651\u0001\u0000\u0000"+
53214 "\u0000\u0092\u066b\u0001\u0000\u0000\u0000\u0094\u0677\u0001\u0000\u0000"+
53215 "\u0000\u0096\u0687\u0001\u0000\u0000\u0000\u0098\u0689\u0001\u0000\u0000"+
53216 "\u0000\u009a\u0691\u0001\u0000\u0000\u0000\u009c\u069d\u0001\u0000\u0000"+
53217 "\u0000\u009e\u06aa\u0001\u0000\u0000\u0000\u00a0\u06ad\u0001\u0000\u0000"+
53218 "\u0000\u00a2\u06ba\u0001\u0000\u0000\u0000\u00a4\u06c4\u0001\u0000\u0000"+
53219 "\u0000\u00a6\u06c9\u0001\u0000\u0000\u0000\u00a8\u06cb\u0001\u0000\u0000"+
53220 "\u0000\u00aa\u06d2\u0001\u0000\u0000\u0000\u00ac\u06da\u0001\u0000\u0000"+
53221 "\u0000\u00ae\u06e2\u0001\u0000\u0000\u0000\u00b0\u06e4\u0001\u0000\u0000"+
53222 "\u0000\u00b2\u06f5\u0001\u0000\u0000\u0000\u00b4\u06f7\u0001\u0000\u0000"+
53223 "\u0000\u00b6\u06fb\u0001\u0000\u0000\u0000\u00b8\u0700\u0001\u0000\u0000"+
53224 "\u0000\u00ba\u0703\u0001\u0000\u0000\u0000\u00bc\u0705\u0001\u0000\u0000"+
53225 "\u0000\u00be\u0708\u0001\u0000\u0000\u0000\u00c0\u070e\u0001\u0000\u0000"+
53226 "\u0000\u00c2\u0718\u0001\u0000\u0000\u0000\u00c4\u071a\u0001\u0000\u0000"+
53227 "\u0000\u00c6\u071e\u0001\u0000\u0000\u0000\u00c8\u072c\u0001\u0000\u0000"+
53228 "\u0000\u00ca\u0733\u0001\u0000\u0000\u0000\u00cc\u0735\u0001\u0000\u0000"+
53229 "\u0000\u00ce\u073d\u0001\u0000\u0000\u0000\u00d0\u073f\u0001\u0000\u0000"+
53230 "\u0000\u00d2\u0741\u0001\u0000\u0000\u0000\u00d4\u0749\u0001\u0000\u0000"+
53231 "\u0000\u00d6\u074b\u0001\u0000\u0000\u0000\u00d8\u074d\u0001\u0000\u0000"+
53232 "\u0000\u00da\u074f\u0001\u0000\u0000\u0000\u00dc\u0751\u0001\u0000\u0000"+
53233 "\u0000\u00de\u0753\u0001\u0000\u0000\u0000\u00e0\u0756\u0001\u0000\u0000"+
53234 "\u0000\u00e2\u0758\u0001\u0000\u0000\u0000\u00e4\u0763\u0001\u0000\u0000"+
53235 "\u0000\u00e6\u0767\u0001\u0000\u0000\u0000\u00e8\u0769\u0001\u0000\u0000"+
53236 "\u0000\u00ea\u076f\u0001\u0000\u0000\u0000\u00ec\u0778\u0001\u0000\u0000"+
53237 "\u0000\u00ee\u077d\u0001\u0000\u0000\u0000\u00f0\u0787\u0001\u0000\u0000"+
53238 "\u0000\u00f2\u0791\u0001\u0000\u0000\u0000\u00f4\u079a\u0001\u0000\u0000"+
53239 "\u0000\u00f6\u07a5\u0001\u0000\u0000\u0000\u00f8\u07ae\u0001\u0000\u0000"+
53240 "\u0000\u00fa\u07bb\u0001\u0000\u0000\u0000\u00fc\u07c4\u0001\u0000\u0000"+
53241 "\u0000\u00fe\u07cf\u0001\u0000\u0000\u0000\u0100\u07d9\u0001\u0000\u0000"+
53242 "\u0000\u0102\u07e5\u0001\u0000\u0000\u0000\u0104\u07eb\u0001\u0000\u0000"+
53243 "\u0000\u0106\u07f1\u0001\u0000\u0000\u0000\u0108\u07f6\u0001\u0000\u0000"+
53244 "\u0000\u010a\u07fd\u0001\u0000\u0000\u0000\u010c\u0806\u0001\u0000\u0000"+
53245 "\u0000\u010e\u0811\u0001\u0000\u0000\u0000\u0110\u081a\u0001\u0000\u0000"+
53246 "\u0000\u0112\u0821\u0001\u0000\u0000\u0000\u0114\u082a\u0001\u0000\u0000"+
53247 "\u0000\u0116\u0837\u0001\u0000\u0000\u0000\u0118\u0844\u0001\u0000\u0000"+
53248 "\u0000\u011a\u0851\u0001\u0000\u0000\u0000\u011c\u085e\u0001\u0000\u0000"+
53249 "\u0000\u011e\u0873\u0001\u0000\u0000\u0000\u0120\u0880\u0001\u0000\u0000"+
53250 "\u0000\u0122\u0884\u0001\u0000\u0000\u0000\u0124\u088b\u0001\u0000\u0000"+
53251 "\u0000\u0126\u088f\u0001\u0000\u0000\u0000\u0128\u08a5\u0001\u0000\u0000"+
53252 "\u0000\u012a\u08c6\u0001\u0000\u0000\u0000\u012c\u08cc\u0001\u0000\u0000"+
53253 "\u0000\u012e\u08dd\u0001\u0000\u0000\u0000\u0130\u08e1\u0001\u0000\u0000"+
53254 "\u0000\u0132\u08e3\u0001\u0000\u0000\u0000\u0134\u08e7\u0001\u0000\u0000"+
53255 "\u0000\u0136\u08fb\u0001\u0000\u0000\u0000\u0138\u08fd\u0001\u0000\u0000"+
53256 "\u0000\u013a\u093e\u0001\u0000\u0000\u0000\u013c\u0940\u0001\u0000\u0000"+
53257 "\u0000\u013e\u0950\u0001\u0000\u0000\u0000\u0140\u0959\u0001\u0000\u0000"+
53258 "\u0000\u0142\u0962\u0001\u0000\u0000\u0000\u0144\u097f\u0001\u0000\u0000"+
53259 "\u0000\u0146\u0983\u0001\u0000\u0000\u0000\u0148\u098a\u0001\u0000\u0000"+
53260 "\u0000\u014a\u0992\u0001\u0000\u0000\u0000\u014c\u0994\u0001\u0000\u0000"+
53261 "\u0000\u014e\u09a8\u0001\u0000\u0000\u0000\u0150\u09aa\u0001\u0000\u0000"+
53262 "\u0000\u0152\u09b0\u0001\u0000\u0000\u0000\u0154\u09b3\u0001\u0000\u0000"+
53263 "\u0000\u0156\u09bc\u0001\u0000\u0000\u0000\u0158\u09be\u0001\u0000\u0000"+
53264 "\u0000\u015a\u09c7\u0001\u0000\u0000\u0000\u015c\u09dd\u0001\u0000\u0000"+
53265 "\u0000\u015e\u09e4\u0001\u0000\u0000\u0000\u0160\u09e6\u0001\u0000\u0000"+
53266 "\u0000\u0162\u09f0\u0001\u0000\u0000\u0000\u0164\u09fe\u0001\u0000\u0000"+
53267 "\u0000\u0166\u0a0d\u0001\u0000\u0000\u0000\u0168\u0a0f\u0001\u0000\u0000"+
53268 "\u0000\u016a\u0a12\u0001\u0000\u0000\u0000\u016c\u0a20\u0001\u0000\u0000"+
53269 "\u0000\u016e\u0a22\u0001\u0000\u0000\u0000\u0170\u0a2f\u0001\u0000\u0000"+
53270 "\u0000\u0172\u0a37\u0001\u0000\u0000\u0000\u0174\u0a3e\u0001\u0000\u0000"+
53271 "\u0000\u0176\u0a45\u0001\u0000\u0000\u0000\u0178\u0a48\u0001\u0000\u0000"+
53272 "\u0000\u017a\u0a51\u0001\u0000\u0000\u0000\u017c\u0a56\u0001\u0000\u0000"+
53273 "\u0000\u017e\u0a5c\u0001\u0000\u0000\u0000\u0180\u0a68\u0001\u0000\u0000"+
53274 "\u0000\u0182\u0a80\u0001\u0000\u0000\u0000\u0184\u0a82\u0001\u0000\u0000"+
53275 "\u0000\u0186\u0a8d\u0001\u0000\u0000\u0000\u0188\u0aa0\u0001\u0000\u0000"+
53276 "\u0000\u018a\u0aa7\u0001\u0000\u0000\u0000\u018c\u0ab6\u0001\u0000\u0000"+
53277 "\u0000\u018e\u0af3\u0001\u0000\u0000\u0000\u0190\u0af5\u0001\u0000\u0000"+
53278 "\u0000\u0192\u0b01\u0001\u0000\u0000\u0000\u0194\u0b13\u0001\u0000\u0000"+
53279 "\u0000\u0196\u0b19\u0001\u0000\u0000\u0000\u0198\u0b2b\u0001\u0000\u0000"+
53280 "\u0000\u019a\u0b2d\u0001\u0000\u0000\u0000\u019c\u0b54\u0001\u0000\u0000"+
53281 "\u0000\u019e\u0b56\u0001\u0000\u0000\u0000\u01a0\u0b6c\u0001\u0000\u0000"+
53282 "\u0000\u01a2\u0b7a\u0001\u0000\u0000\u0000\u01a4\u0b7e\u0001\u0000\u0000"+
53283 "\u0000\u01a6\u0b85\u0001\u0000\u0000\u0000\u01a8\u0b93\u0001\u0000\u0000"+
53284 "\u0000\u01aa\u0b97\u0001\u0000\u0000\u0000\u01ac\u0ba5\u0001\u0000\u0000"+
53285 "\u0000\u01ae\u0ba9\u0001\u0000\u0000\u0000\u01b0\u0bb8\u0001\u0000\u0000"+
53286 "\u0000\u01b2\u0bba\u0001\u0000\u0000\u0000\u01b4\u0bc4\u0001\u0000\u0000"+
53287 "\u0000\u01b6\u0bd8\u0001\u0000\u0000\u0000\u01b8\u0be2\u0001\u0000\u0000"+
53288 "\u0000\u01ba\u0bef\u0001\u0000\u0000\u0000\u01bc\u0bf3\u0001\u0000\u0000"+
53289 "\u0000\u01be\u0c10\u0001\u0000\u0000\u0000\u01c0\u0c12\u0001\u0000\u0000"+
53290 "\u0000\u01c2\u0c14\u0001\u0000\u0000\u0000\u01c4\u0c20\u0001\u0000\u0000"+
53291 "\u0000\u01c6\u0c2d\u0001\u0000\u0000\u0000\u01c8\u0c35\u0001\u0000\u0000"+
53292 "\u0000\u01ca\u0c3b\u0001\u0000\u0000\u0000\u01cc\u0c4d\u0001\u0000\u0000"+
53293 "\u0000\u01ce\u0c55\u0001\u0000\u0000\u0000\u01d0\u0c5c\u0001\u0000\u0000"+
53294 "\u0000\u01d2\u0c65\u0001\u0000\u0000\u0000\u01d4\u0c74\u0001\u0000\u0000"+
53295 "\u0000\u01d6\u0c7b\u0001\u0000\u0000\u0000\u01d8\u0c84\u0001\u0000\u0000"+
53296 "\u0000\u01da\u0c86\u0001\u0000\u0000\u0000\u01dc\u0c8b\u0001\u0000\u0000"+
53297 "\u0000\u01de\u0c8e\u0001\u0000\u0000\u0000\u01e0\u0c99\u0001\u0000\u0000"+
53298 "\u0000\u01e2\u0c9b\u0001\u0000\u0000\u0000\u01e4\u0cbb\u0001\u0000\u0000"+
53299 "\u0000\u01e6\u0cbd\u0001\u0000\u0000\u0000\u01e8\u0ccc\u0001\u0000\u0000"+
53300 "\u0000\u01ea\u0ce0\u0001\u0000\u0000\u0000\u01ec\u0d17\u0001\u0000\u0000"+
53301 "\u0000\u01ee\u0d1f\u0001\u0000\u0000\u0000\u01f0\u0d21\u0001\u0000\u0000"+
53302 "\u0000\u01f2\u0d33\u0001\u0000\u0000\u0000\u01f4\u0d4a\u0001\u0000\u0000"+
53303 "\u0000\u01f6\u0d60\u0001\u0000\u0000\u0000\u01f8\u0d6c\u0001\u0000\u0000"+
53304 "\u0000\u01fa\u0d6e\u0001\u0000\u0000\u0000\u01fc\u0d86\u0001\u0000\u0000"+
53305 "\u0000\u01fe\u0d88\u0001\u0000\u0000\u0000\u0200\u0d8e\u0001\u0000\u0000"+
53306 "\u0000\u0202\u0d9c\u0001\u0000\u0000\u0000\u0204\u0d9e\u0001\u0000\u0000"+
53307 "\u0000\u0206\u0dcc\u0001\u0000\u0000\u0000\u0208\u0de0\u0001\u0000\u0000"+
53308 "\u0000\u020a\u0de2\u0001\u0000\u0000\u0000\u020c\u0dfd\u0001\u0000\u0000"+
53309 "\u0000\u020e\u0e12\u0001\u0000\u0000\u0000\u0210\u0e15\u0001\u0000\u0000"+
53310 "\u0000\u0212\u0e30\u0001\u0000\u0000\u0000\u0214\u0e32\u0001\u0000\u0000"+
53311 "\u0000\u0216\u0e4e\u0001\u0000\u0000\u0000\u0218\u0e50\u0001\u0000\u0000"+
53312 "\u0000\u021a\u0e67\u0001\u0000\u0000\u0000\u021c\u0e7f\u0001\u0000\u0000"+
53313 "\u0000\u021e\u0e98\u0001\u0000\u0000\u0000\u0220\u0ea3\u0001\u0000\u0000"+
53314 "\u0000\u0222\u0ebf\u0001\u0000\u0000\u0000\u0224\u0ecb\u0001\u0000\u0000"+
53315 "\u0000\u0226\u0ed8\u0001\u0000\u0000\u0000\u0228\u0eda\u0001\u0000\u0000"+
53316 "\u0000\u022a\u0ee6\u0001\u0000\u0000\u0000\u022c\u0eef\u0001\u0000\u0000"+
53317 "\u0000\u022e\u0eff\u0001\u0000\u0000\u0000\u0230\u0f24\u0001\u0000\u0000"+
53318 "\u0000\u0232\u0f3c\u0001\u0000\u0000\u0000\u0234\u0f47\u0001\u0000\u0000"+
53319 "\u0000\u0236\u0f53\u0001\u0000\u0000\u0000\u0238\u0f55\u0001\u0000\u0000"+
53320 "\u0000\u023a\u0f5e\u0001\u0000\u0000\u0000\u023c\u0f76\u0001\u0000\u0000"+
53321 "\u0000\u023e\u0fa5\u0001\u0000\u0000\u0000\u0240\u0fa7\u0001\u0000\u0000"+
53322 "\u0000\u0242\u0fb2\u0001\u0000\u0000\u0000\u0244\u0fd0\u0001\u0000\u0000"+
53323 "\u0000\u0246\u0fd4\u0001\u0000\u0000\u0000\u0248\u0ffa\u0001\u0000\u0000"+
53324 "\u0000\u024a\u1013\u0001\u0000\u0000\u0000\u024c\u1053\u0001\u0000\u0000"+
53325 "\u0000\u024e\u1098\u0001\u0000\u0000\u0000\u0250\u109a\u0001\u0000\u0000"+
53326 "\u0000\u0252\u10a5\u0001\u0000\u0000\u0000\u0254\u10bc\u0001\u0000\u0000"+
53327 "\u0000\u0256\u10c8\u0001\u0000\u0000\u0000\u0258\u1100\u0001\u0000\u0000"+
53328 "\u0000\u025a\u110e\u0001\u0000\u0000\u0000\u025c\u111d\u0001\u0000\u0000"+
53329 "\u0000\u025e\u1127\u0001\u0000\u0000\u0000\u0260\u1154\u0001\u0000\u0000"+
53330 "\u0000\u0262\u115a\u0001\u0000\u0000\u0000\u0264\u1172\u0001\u0000\u0000"+
53331 "\u0000\u0266\u1176\u0001\u0000\u0000\u0000\u0268\u1198\u0001\u0000\u0000"+
53332 "\u0000\u026a\u119a\u0001\u0000\u0000\u0000\u026c\u11b9\u0001\u0000\u0000"+
53333 "\u0000\u026e\u11bb\u0001\u0000\u0000\u0000\u0270\u11c2\u0001\u0000\u0000"+
53334 "\u0000\u0272\u11df\u0001\u0000\u0000\u0000\u0274\u11e5\u0001\u0000\u0000"+
53335 "\u0000\u0276\u11fa\u0001\u0000\u0000\u0000\u0278\u11fc\u0001\u0000\u0000"+
53336 "\u0000\u027a\u123e\u0001\u0000\u0000\u0000\u027c\u124d\u0001\u0000\u0000"+
53337 "\u0000\u027e\u1255\u0001\u0000\u0000\u0000\u0280\u126c\u0001\u0000\u0000"+
53338 "\u0000\u0282\u1275\u0001\u0000\u0000\u0000\u0284\u127d\u0001\u0000\u0000"+
53339 "\u0000\u0286\u127f\u0001\u0000\u0000\u0000\u0288\u128d\u0001\u0000\u0000"+
53340 "\u0000\u028a\u128f\u0001\u0000\u0000\u0000\u028c\u129a\u0001\u0000\u0000"+
53341 "\u0000\u028e\u12ab\u0001\u0000\u0000\u0000\u0290\u12b4\u0001\u0000\u0000"+
53342 "\u0000\u0292\u12bb\u0001\u0000\u0000\u0000\u0294\u12bf\u0001\u0000\u0000"+
53343 "\u0000\u0296\u12c1\u0001\u0000\u0000\u0000\u0298\u12cc\u0001\u0000\u0000"+
53344 "\u0000\u029a\u12df\u0001\u0000\u0000\u0000\u029c\u12fb\u0001\u0000\u0000"+
53345 "\u0000\u029e\u12fe\u0001\u0000\u0000\u0000\u02a0\u1315\u0001\u0000\u0000"+
53346 "\u0000\u02a2\u131e\u0001\u0000\u0000\u0000\u02a4\u132d\u0001\u0000\u0000"+
53347 "\u0000\u02a6\u1335\u0001\u0000\u0000\u0000\u02a8\u1339\u0001\u0000\u0000"+
53348 "\u0000\u02aa\u1346\u0001\u0000\u0000\u0000\u02ac\u1355\u0001\u0000\u0000"+
53349 "\u0000\u02ae\u1359\u0001\u0000\u0000\u0000\u02b0\u1372\u0001\u0000\u0000"+
53350 "\u0000\u02b2\u1376\u0001\u0000\u0000\u0000\u02b4\u1379\u0001\u0000\u0000"+
53351 "\u0000\u02b6\u138e\u0001\u0000\u0000\u0000\u02b8\u13a6\u0001\u0000\u0000"+
53352 "\u0000\u02ba\u13a8\u0001\u0000\u0000\u0000\u02bc\u13b6\u0001\u0000\u0000"+
53353 "\u0000\u02be\u13b8\u0001\u0000\u0000\u0000\u02c0\u13c8\u0001\u0000\u0000"+
53354 "\u0000\u02c2\u13e1\u0001\u0000\u0000\u0000\u02c4\u13e8\u0001\u0000\u0000"+
53355 "\u0000\u02c6\u1406\u0001\u0000\u0000\u0000\u02c8\u1408\u0001\u0000\u0000"+
53356 "\u0000\u02ca\u1428\u0001\u0000\u0000\u0000\u02cc\u142a\u0001\u0000\u0000"+
53357 "\u0000\u02ce\u142c\u0001\u0000\u0000\u0000\u02d0\u142f\u0001\u0000\u0000"+
53358 "\u0000\u02d2\u1432\u0001\u0000\u0000\u0000\u02d4\u143a\u0001\u0000\u0000"+
53359 "\u0000\u02d6\u145b\u0001\u0000\u0000\u0000\u02d8\u147b\u0001\u0000\u0000"+
53360 "\u0000\u02da\u1481\u0001\u0000\u0000\u0000\u02dc\u1483\u0001\u0000\u0000"+
53361 "\u0000\u02de\u1486\u0001\u0000\u0000\u0000\u02e0\u1490\u0001\u0000\u0000"+
53362 "\u0000\u02e2\u1493\u0001\u0000\u0000\u0000\u02e4\u1497\u0001\u0000\u0000"+
53363 "\u0000\u02e6\u149a\u0001\u0000\u0000\u0000\u02e8\u14a2\u0001\u0000\u0000"+
53364 "\u0000\u02ea\u14a9\u0001\u0000\u0000\u0000\u02ec\u14b5\u0001\u0000\u0000"+
53365 "\u0000\u02ee\u14bd\u0001\u0000\u0000\u0000\u02f0\u14c6\u0001\u0000\u0000"+
53366 "\u0000\u02f2\u14cc\u0001\u0000\u0000\u0000\u02f4\u1514\u0001\u0000\u0000"+
53367 "\u0000\u02f6\u154c\u0001\u0000\u0000\u0000\u02f8\u154e\u0001\u0000\u0000"+
53368 "\u0000\u02fa\u1554\u0001\u0000\u0000\u0000\u02fc\u1594\u0001\u0000\u0000"+
53369 "\u0000\u02fe\u15a4\u0001\u0000\u0000\u0000\u0300\u15ba\u0001\u0000\u0000"+
53370 "\u0000\u0302\u15c4\u0001\u0000\u0000\u0000\u0304\u15d5\u0001\u0000\u0000"+
53371 "\u0000\u0306\u15d7\u0001\u0000\u0000\u0000\u0308\u15d9\u0001\u0000\u0000"+
53372 "\u0000\u030a\u15db\u0001\u0000\u0000\u0000\u030c\u15de\u0001\u0000\u0000"+
53373 "\u0000\u030e\u15e3\u0001\u0000\u0000\u0000\u0310\u15fa\u0001\u0000\u0000"+
53374 "\u0000\u0312\u160d\u0001\u0000\u0000\u0000\u0314\u161f\u0001\u0000\u0000"+
53375 "\u0000\u0316\u1623\u0001\u0000\u0000\u0000\u0318\u162f\u0001\u0000\u0000"+
53376 "\u0000\u031a\u1636\u0001\u0000\u0000\u0000\u031c\u163a\u0001\u0000\u0000"+
53377 "\u0000\u031e\u163c\u0001\u0000\u0000\u0000\u0320\u1644\u0001\u0000\u0000"+
53378 "\u0000\u0322\u1659\u0001\u0000\u0000\u0000\u0324\u166a\u0001\u0000\u0000"+
53379 "\u0000\u0326\u166f\u0001\u0000\u0000\u0000\u0328\u1684\u0001\u0000\u0000"+
53380 "\u0000\u032a\u1695\u0001\u0000\u0000\u0000\u032c\u16b0\u0001\u0000\u0000"+
53381 "\u0000\u032e\u16c2\u0001\u0000\u0000\u0000\u0330\u1711\u0001\u0000\u0000"+
53382 "\u0000\u0332\u1725\u0001\u0000\u0000\u0000\u0334\u17ce\u0001\u0000\u0000"+
53383 "\u0000\u0336\u17d3\u0001\u0000\u0000\u0000\u0338\u17dd\u0001\u0000\u0000"+
53384 "\u0000\u033a\u17e8\u0001\u0000\u0000\u0000\u033c\u17f2\u0001\u0000\u0000"+
53385 "\u0000\u033e\u17fb\u0001\u0000\u0000\u0000\u0340\u1811\u0001\u0000\u0000"+
53386 "\u0000\u0342\u181e\u0001\u0000\u0000\u0000\u0344\u1825\u0001\u0000\u0000"+
53387 "\u0000\u0346\u1831\u0001\u0000\u0000\u0000\u0348\u183e\u0001\u0000\u0000"+
53388 "\u0000\u034a\u184b\u0001\u0000\u0000\u0000\u034c\u1856\u0001\u0000\u0000"+
53389 "\u0000\u034e\u1862\u0001\u0000\u0000\u0000\u0350\u1874\u0001\u0000\u0000"+
53390 "\u0000\u0352\u1880\u0001\u0000\u0000\u0000\u0354\u188d\u0001\u0000\u0000"+
53391 "\u0000\u0356\u189a\u0001\u0000\u0000\u0000\u0358\u18a6\u0001\u0000\u0000"+
53392 "\u0000\u035a\u18b9\u0001\u0000\u0000\u0000\u035c\u18bd\u0001\u0000\u0000"+
53393 "\u0000\u035e\u18ca\u0001\u0000\u0000\u0000\u0360\u18d7\u0001\u0000\u0000"+
53394 "\u0000\u0362\u18e0\u0001\u0000\u0000\u0000\u0364\u18ea\u0001\u0000\u0000"+
53395 "\u0000\u0366\u18ec\u0001\u0000\u0000\u0000\u0368\u18ee\u0001\u0000\u0000"+
53396 "\u0000\u036a\u191a\u0001\u0000\u0000\u0000\u036c\u191c\u0001\u0000\u0000"+
53397 "\u0000\u036e\u191e\u0001\u0000\u0000\u0000\u0370\u1920\u0001\u0000\u0000"+
53398 "\u0000\u0372\u1928\u0001\u0000\u0000\u0000\u0374\u1934\u0001\u0000\u0000"+
53399 "\u0000\u0376\u1966\u0001\u0000\u0000\u0000\u0378\u1973\u0001\u0000\u0000"+
53400 "\u0000\u037a\u1980\u0001\u0000\u0000\u0000\u037c\u19a8\u0001\u0000\u0000"+
53401 "\u0000\u037e\u19b8\u0001\u0000\u0000\u0000\u0380\u19ce\u0001\u0000\u0000"+
53402 "\u0000\u0382\u19d0\u0001\u0000\u0000\u0000\u0384\u19de\u0001\u0000\u0000"+
53403 "\u0000\u0386\u19e8\u0001\u0000\u0000\u0000\u0388\u19ea\u0001\u0000\u0000"+
53404 "\u0000\u038a\u19ec\u0001\u0000\u0000\u0000\u038c\u19ee\u0001\u0000\u0000"+
53405 "\u0000\u038e\u19f3\u0001\u0000\u0000\u0000\u0390\u19fa\u0001\u0000\u0000"+
53406 "\u0000\u0392\u1a2a\u0001\u0000\u0000\u0000\u0394\u1a2c\u0001\u0000\u0000"+
53407 "\u0000\u0396\u1a33\u0001\u0000\u0000\u0000\u0398\u1a3a\u0001\u0000\u0000"+
53408 "\u0000\u039a\u1a49\u0001\u0000\u0000\u0000\u039c\u1a57\u0001\u0000\u0000"+
53409 "\u0000\u039e\u1a59\u0001\u0000\u0000\u0000\u03a0\u1a81\u0001\u0000\u0000"+
53410 "\u0000\u03a2\u1a83\u0001\u0000\u0000\u0000\u03a4\u1a85\u0001\u0000\u0000"+
53411 "\u0000\u03a6\u1a98\u0001\u0000\u0000\u0000\u03a8\u1aa0\u0001\u0000\u0000"+
53412 "\u0000\u03aa\u1aae\u0001\u0000\u0000\u0000\u03ac\u1ab0\u0001\u0000\u0000"+
53413 "\u0000\u03ae\u1abc\u0001\u0000\u0000\u0000\u03b0\u1ad3\u0001\u0000\u0000"+
53414 "\u0000\u03b2\u1ad5\u0001\u0000\u0000\u0000\u03b4\u1ad8\u0001\u0000\u0000"+
53415 "\u0000\u03b6\u1ae5\u0001\u0000\u0000\u0000\u03b8\u1ae7\u0001\u0000\u0000"+
53416 "\u0000\u03ba\u1afe\u0001\u0000\u0000\u0000\u03bc\u1b00\u0001\u0000\u0000"+
53417 "\u0000\u03be\u1b04\u0001\u0000\u0000\u0000\u03c0\u1b14\u0001\u0000\u0000"+
53418 "\u0000\u03c2\u1b3b\u0001\u0000\u0000\u0000\u03c4\u1b3d\u0001\u0000\u0000"+
53419 "\u0000\u03c6\u1b45\u0001\u0000\u0000\u0000\u03c8\u1b47\u0001\u0000\u0000"+
53420 "\u0000\u03ca\u0406\u0003\u02bc\u015e\u0000\u03cb\u0406\u0003\u029e\u014f"+
53421 "\u0000\u03cc\u0406\u0003\u02aa\u0155\u0000\u03cd\u0406\u0003\u02b4\u015a"+
53422 "\u0000\u03ce\u0406\u0003\u00eau\u0000\u03cf\u0406\u0003\u00fe\u007f\u0000"+
53423 "\u03d0\u0406\u0003\u0112\u0089\u0000\u03d1\u0406\u0003\u00e6s\u0000\u03d2"+
53424 "\u0406\u0003\u00ecv\u0000\u03d3\u0406\u0003\u00f0x\u0000\u03d4\u0406\u0003"+
53425 "\u00f2y\u0000\u03d5\u0406\u0003\u00f4z\u0000\u03d6\u0406\u0003\u00f6{"+
53426 "\u0000\u03d7\u0406\u0003\u00f8|\u0000\u03d8\u0406\u0003\u00fa}\u0000\u03d9"+
53427 "\u0406\u0003\u00fc~\u0000\u03da\u0406\u0003\u0108\u0084\u0000\u03db\u0406"+
53428 "\u0003\u010a\u0085\u0000\u03dc\u0406\u0003\u0100\u0080\u0000\u03dd\u0406"+
53429 "\u0003\u010c\u0086\u0000\u03de\u0406\u0003\u010e\u0087\u0000\u03df\u0406"+
53430 "\u0003\u0106\u0083\u0000\u03e0\u0406\u0003\u0110\u0088\u0000\u03e1\u0406"+
53431 "\u0003\u0114\u008a\u0000\u03e2\u0406\u0003\u0116\u008b\u0000\u03e3\u0406"+
53432 "\u0003\u0118\u008c\u0000\u03e4\u0406\u0003\u011a\u008d\u0000\u03e5\u0406"+
53433 "\u0003\u011c\u008e\u0000\u03e6\u0406\u0003\u011e\u008f\u0000\u03e7\u0406"+
53434 "\u0003\u0120\u0090\u0000\u03e8\u0406\u0003\u0122\u0091\u0000\u03e9\u0406"+
53435 "\u0003\u0124\u0092\u0000\u03ea\u0406\u0003\u00eew\u0000\u03eb\u0406\u0003"+
53436 "\u0002\u0001\u0000\u03ec\u0406\u0003\n\u0005\u0000\u03ed\u0406\u0003\f"+
53437 "\u0006\u0000\u03ee\u0406\u0003\u0006\u0003\u0000\u03ef\u0406\u0003\u000e"+
53438 "\u0007\u0000\u03f0\u0406\u0003\u0010\b\u0000\u03f1\u0406\u0003\u0012\t"+
53439 "\u0000\u03f2\u0406\u0003\u0014\n\u0000\u03f3\u0406\u0003\u0016\u000b\u0000"+
53440 "\u03f4\u0406\u0003\u030c\u0186\u0000\u03f5\u0406\u0003\u031e\u018f\u0000"+
53441 "\u03f6\u0406\u0003\u0324\u0192\u0000\u03f7\u0406\u0003\u0372\u01b9\u0000"+
53442 "\u03f8\u0406\u0003\u038e\u01c7\u0000\u03f9\u0406\u0003\u0390\u01c8\u0000"+
53443 "\u03fa\u0406\u0003\u0394\u01ca\u0000\u03fb\u0406\u0003\u0396\u01cb\u0000"+
53444 "\u03fc\u0406\u0003\u0398\u01cc\u0000\u03fd\u0406\u0003\u039a\u01cd\u0000"+
53445 "\u03fe\u0406\u0003\u03bc\u01de\u0000\u03ff\u0406\u0003\u03be\u01df\u0000"+
53446 "\u0400\u0406\u0003\u00e0p\u0000\u0401\u0406\u0003\u00e2q\u0000\u0402\u0406"+
53447 "\u0003\u0370\u01b8\u0000\u0403\u0406\u0003\u03c8\u01e4\u0000\u0404\u0406"+
53448 "\u0003\u0126\u0093\u0000\u0405\u03ca\u0001\u0000\u0000\u0000\u0405\u03cb"+
53449 "\u0001\u0000\u0000\u0000\u0405\u03cc\u0001\u0000\u0000\u0000\u0405\u03cd"+
53450 "\u0001\u0000\u0000\u0000\u0405\u03ce\u0001\u0000\u0000\u0000\u0405\u03cf"+
53451 "\u0001\u0000\u0000\u0000\u0405\u03d0\u0001\u0000\u0000\u0000\u0405\u03d1"+
53452 "\u0001\u0000\u0000\u0000\u0405\u03d2\u0001\u0000\u0000\u0000\u0405\u03d3"+
53453 "\u0001\u0000\u0000\u0000\u0405\u03d4\u0001\u0000\u0000\u0000\u0405\u03d5"+
53454 "\u0001\u0000\u0000\u0000\u0405\u03d6\u0001\u0000\u0000\u0000\u0405\u03d7"+
53455 "\u0001\u0000\u0000\u0000\u0405\u03d8\u0001\u0000\u0000\u0000\u0405\u03d9"+
53456 "\u0001\u0000\u0000\u0000\u0405\u03da\u0001\u0000\u0000\u0000\u0405\u03db"+
53457 "\u0001\u0000\u0000\u0000\u0405\u03dc\u0001\u0000\u0000\u0000\u0405\u03dd"+
53458 "\u0001\u0000\u0000\u0000\u0405\u03de\u0001\u0000\u0000\u0000\u0405\u03df"+
53459 "\u0001\u0000\u0000\u0000\u0405\u03e0\u0001\u0000\u0000\u0000\u0405\u03e1"+
53460 "\u0001\u0000\u0000\u0000\u0405\u03e2\u0001\u0000\u0000\u0000\u0405\u03e3"+
53461 "\u0001\u0000\u0000\u0000\u0405\u03e4\u0001\u0000\u0000\u0000\u0405\u03e5"+
53462 "\u0001\u0000\u0000\u0000\u0405\u03e6\u0001\u0000\u0000\u0000\u0405\u03e7"+
53463 "\u0001\u0000\u0000\u0000\u0405\u03e8\u0001\u0000\u0000\u0000\u0405\u03e9"+
53464 "\u0001\u0000\u0000\u0000\u0405\u03ea\u0001\u0000\u0000\u0000\u0405\u03eb"+
53465 "\u0001\u0000\u0000\u0000\u0405\u03ec\u0001\u0000\u0000\u0000\u0405\u03ed"+
53466 "\u0001\u0000\u0000\u0000\u0405\u03ee\u0001\u0000\u0000\u0000\u0405\u03ef"+
53467 "\u0001\u0000\u0000\u0000\u0405\u03f0\u0001\u0000\u0000\u0000\u0405\u03f1"+
53468 "\u0001\u0000\u0000\u0000\u0405\u03f2\u0001\u0000\u0000\u0000\u0405\u03f3"+
53469 "\u0001\u0000\u0000\u0000\u0405\u03f4\u0001\u0000\u0000\u0000\u0405\u03f5"+
53470 "\u0001\u0000\u0000\u0000\u0405\u03f6\u0001\u0000\u0000\u0000\u0405\u03f7"+
53471 "\u0001\u0000\u0000\u0000\u0405\u03f8\u0001\u0000\u0000\u0000\u0405\u03f9"+
53472 "\u0001\u0000\u0000\u0000\u0405\u03fa\u0001\u0000\u0000\u0000\u0405\u03fb"+
53473 "\u0001\u0000\u0000\u0000\u0405\u03fc\u0001\u0000\u0000\u0000\u0405\u03fd"+
53474 "\u0001\u0000\u0000\u0000\u0405\u03fe\u0001\u0000\u0000\u0000\u0405\u03ff"+
53475 "\u0001\u0000\u0000\u0000\u0405\u0400\u0001\u0000\u0000\u0000\u0405\u0401"+
53476 "\u0001\u0000\u0000\u0000\u0405\u0402\u0001\u0000\u0000\u0000\u0405\u0403"+
53477 "\u0001\u0000\u0000\u0000\u0405\u0404\u0001\u0000\u0000\u0000\u0406\u0408"+
53478 "\u0001\u0000\u0000\u0000\u0407\u0409\u0005+\u0000\u0000\u0408\u0407\u0001"+
53479 "\u0000\u0000\u0000\u0408\u0409\u0001\u0000\u0000\u0000\u0409\u0001\u0001"+
53480 "\u0000\u0000\u0000\u040a\u040b\u0005:\u0000\u0000\u040b\u040c\u0005\u00ef"+
53481 "\u0000\u0000\u040c\u040d\u0005\u0202\u0000\u0000\u040d\u040e\u0005\u0201"+
53482 "\u0000\u0000\u040e\u040f\u0003\u0004\u0002\u0000\u040f\u0003\u0001\u0000"+
53483 "\u0000\u0000\u0410\u0411\u0005\u0205\u0000\u0000\u0411\u0419\u0005\u028e"+
53484 "\u0000\u0000\u0412\u0413\u0005\u0205\u0000\u0000\u0413\u0419\u0005\u028f"+
53485 "\u0000\u0000\u0414\u0415\u0005\u0204\u0000\u0000\u0415\u0419\u0005\u0205"+
53486 "\u0000\u0000\u0416\u0419\u0005\u0203\u0000\u0000\u0417\u0419\u0005\u0206"+
53487 "\u0000\u0000\u0418\u0410\u0001\u0000\u0000\u0000\u0418\u0412\u0001\u0000"+
53488 "\u0000\u0000\u0418\u0414\u0001\u0000\u0000\u0000\u0418\u0416\u0001\u0000"+
53489 "\u0000\u0000\u0418\u0417\u0001\u0000\u0000\u0000\u0419\u0005\u0001\u0000"+
53490 "\u0000\u0000\u041a\u041b\u0005:\u0000\u0000\u041b\u041c\u0005\u0194\u0000"+
53491 "\u0000\u041c\u041d\u0003\b\u0004\u0000\u041d\u0007\u0001\u0000\u0000\u0000"+
53492 "\u041e\u041f\u0007\u0000\u0000\u0000\u041f\t\u0001\u0000\u0000\u0000\u0420"+
53493 "\u0421\u0005}\u0000\u0000\u0421\u042e\u0007\u0001\u0000\u0000\u0422\u0425"+
53494 "\u0003\u00d4j\u0000\u0423\u0425\u0003\u00d6k\u0000\u0424\u0422\u0001\u0000"+
53495 "\u0000\u0000\u0424\u0423\u0001\u0000\u0000\u0000\u0425\u042c\u0001\u0000"+
53496 "\u0000\u0000\u0426\u0427\u0005M\u0000\u0000\u0427\u042a\u0005\u021a\u0000"+
53497 "\u0000\u0428\u042b\u0003\u001c\u000e\u0000\u0429\u042b\u0005\u02be\u0000"+
53498 "\u0000\u042a\u0428\u0001\u0000\u0000\u0000\u042a\u0429\u0001\u0000\u0000"+
53499 "\u0000\u042a\u042b\u0001\u0000\u0000\u0000\u042b\u042d\u0001\u0000\u0000"+
53500 "\u0000\u042c\u0426\u0001\u0000\u0000\u0000\u042c\u042d\u0001\u0000\u0000"+
53501 "\u0000\u042d\u042f\u0001\u0000\u0000\u0000\u042e\u0424\u0001\u0000\u0000"+
53502 "\u0000\u042e\u042f\u0001\u0000\u0000\u0000\u042f\u000b\u0001\u0000\u0000"+
53503 "\u0000\u0430\u0431\u0005}\u0000\u0000\u0431\u0432\u0005\u0219\u0000\u0000"+
53504 "\u0432\u0435\u0007\u0001\u0000\u0000\u0433\u0436\u0003\u00d4j\u0000\u0434"+
53505 "\u0436\u0003\u00d6k\u0000\u0435\u0433\u0001\u0000\u0000\u0000\u0435\u0434"+
53506 "\u0001\u0000\u0000\u0000\u0435\u0436\u0001\u0000\u0000\u0000\u0436\r\u0001"+
53507 "\u0000\u0000\u0000\u0437\u043d\u0005~\u0000\u0000\u0438\u043b\u0007\u0001"+
53508 "\u0000\u0000\u0439\u043c\u0003\u00d4j\u0000\u043a\u043c\u0003\u00d6k\u0000"+
53509 "\u043b\u0439\u0001\u0000\u0000\u0000\u043b\u043a\u0001\u0000\u0000\u0000"+
53510 "\u043b\u043c\u0001\u0000\u0000\u0000\u043c\u043e\u0001\u0000\u0000\u0000"+
53511 "\u043d\u0438\u0001\u0000\u0000\u0000\u043d\u043e\u0001\u0000\u0000\u0000"+
53512 "\u043e\u0445\u0001\u0000\u0000\u0000\u043f\u0440\u0005M\u0000\u0000\u0440"+
53513 "\u0441\u0005\u001f\u0000\u0000\u0441\u0442\u0005\u0281\u0000\u0000\u0442"+
53514 "\u0443\u0005\u0018\u0000\u0000\u0443\u0444\u0007\u0000\u0000\u0000\u0444"+
53515 "\u0446\u0005 \u0000\u0000\u0445\u043f\u0001\u0000\u0000\u0000\u0445\u0446"+
53516 "\u0001\u0000\u0000\u0000\u0446\u000f\u0001\u0000\u0000\u0000\u0447\u0449"+
53517 "\u0005~\u0000\u0000\u0448\u044a\u0005\u021b\u0000\u0000\u0449\u0448\u0001"+
53518 "\u0000\u0000\u0000\u0449\u044a\u0001\u0000\u0000\u0000\u044a\u0011\u0001"+
53519 "\u0000\u0000\u0000\u044b\u044c\u0005\u007f\u0000\u0000\u044c\u0451\u0007"+
53520 "\u0001\u0000\u0000\u044d\u0452\u0003\u00d4j\u0000\u044e\u0452\u0003\u00d6"+
53521 "k\u0000\u044f\u0452\u0003\u00d8l\u0000\u0450\u0452\u0003\u00dam\u0000"+
53522 "\u0451\u044d\u0001\u0000\u0000\u0000\u0451\u044e\u0001\u0000\u0000\u0000"+
53523 "\u0451\u044f\u0001\u0000\u0000\u0000\u0451\u0450\u0001\u0000\u0000\u0000"+
53524 "\u0451\u0452\u0001\u0000\u0000\u0000\u0452\u0013\u0001\u0000\u0000\u0000"+
53525 "\u0453\u0455\u0005\u007f\u0000\u0000\u0454\u0456\u0005\u021b\u0000\u0000"+
53526 "\u0455\u0454\u0001\u0000\u0000\u0000\u0455\u0456\u0001\u0000\u0000\u0000"+
53527 "\u0456\u0015\u0001\u0000\u0000\u0000\u0457\u0458\u0005\u0126\u0000\u0000"+
53528 "\u0458\u045b\u0007\u0001\u0000\u0000\u0459\u045c\u0003\u00d8l\u0000\u045a"+
53529 "\u045c\u0003\u00dam\u0000\u045b\u0459\u0001\u0000\u0000\u0000\u045b\u045a"+
53530 "\u0001\u0000\u0000\u0000\u045c\u0017\u0001\u0000\u0000\u0000\u045d\u045e"+
53531 "\u0005)\u0000\u0000\u045e\u0019\u0001\u0000\u0000\u0000\u045f\u0467\u0003"+
53532 "\u001c\u000e\u0000\u0460\u0467\u0003\u001e\u000f\u0000\u0461\u0467\u0003"+
53533 " \u0010\u0000\u0462\u0467\u0003\"\u0011\u0000\u0463\u0467\u0003$\u0012"+
53534 "\u0000\u0464\u0467\u0003&\u0013\u0000\u0465\u0467\u0003(\u0014\u0000\u0466"+
53535 "\u045f\u0001\u0000\u0000\u0000\u0466\u0460\u0001\u0000\u0000\u0000\u0466"+
53536 "\u0461\u0001\u0000\u0000\u0000\u0466\u0462\u0001\u0000\u0000\u0000\u0466"+
53537 "\u0463\u0001\u0000\u0000\u0000\u0466\u0464\u0001\u0000\u0000\u0000\u0466"+
53538 "\u0465\u0001\u0000\u0000\u0000\u0467\u001b\u0001\u0000\u0000\u0000\u0468"+
53539 "\u0469\u0007\u0002\u0000\u0000\u0469\u001d\u0001\u0000\u0000\u0000\u046a"+
53540 "\u046c\u0007\u0003\u0000\u0000\u046b\u046a\u0001\u0000\u0000\u0000\u046b"+
53541 "\u046c\u0001\u0000\u0000\u0000\u046c\u046d\u0001\u0000\u0000\u0000\u046d"+
53542 "\u046e\u0005\u02b8\u0000\u0000\u046e\u001f\u0001\u0000\u0000\u0000\u046f"+
53543 "\u0470\u0007\u0004\u0000\u0000\u0470\u0477\u0005\u02b7\u0000\u0000\u0471"+
53544 "\u0472\u0005!\u0000\u0000\u0472\u0473\u0003*\u0015\u0000\u0473\u0474\u0005"+
53545 "\u02b7\u0000\u0000\u0474\u0475\u0005\"\u0000\u0000\u0475\u0477\u0001\u0000"+
53546 "\u0000\u0000\u0476\u046f\u0001\u0000\u0000\u0000\u0476\u0471\u0001\u0000"+
53547 "\u0000\u0000\u0477!\u0001\u0000\u0000\u0000\u0478\u0479\u0005\u02bc\u0000"+
53548 "\u0000\u0479#\u0001\u0000\u0000\u0000\u047a\u047b\u0005\u02bd\u0000\u0000"+
53549 "\u047b%\u0001\u0000\u0000\u0000\u047c\u047d\u0007\u0005\u0000\u0000\u047d"+
53550 "\'\u0001\u0000\u0000\u0000\u047e\u047f\u0005l\u0000\u0000\u047f)\u0001"+
53551 "\u0000\u0000\u0000\u0480\u0483\u0003,\u0016\u0000\u0481\u0483\u0003.\u0017"+
53552 "\u0000\u0482\u0480\u0001\u0000\u0000\u0000\u0482\u0481\u0001\u0000\u0000"+
53553 "\u0000\u0483+\u0001\u0000\u0000\u0000\u0484\u0487\u0005\u02b5\u0000\u0000"+
53554 "\u0485\u0487\u00030\u0018\u0000\u0486\u0484\u0001\u0000\u0000\u0000\u0486"+
53555 "\u0485\u0001\u0000\u0000\u0000\u0487-\u0001\u0000\u0000\u0000\u0488\u0489"+
53556 "\u0005\u02b6\u0000\u0000\u0489/\u0001\u0000\u0000\u0000\u048a\u048b\u0007"+
53557 "\u0006\u0000\u0000\u048b1\u0001\u0000\u0000\u0000\u048c\u048d\u0003*\u0015"+
53558 "\u0000\u048d3\u0001\u0000\u0000\u0000\u048e\u048f\u0003*\u0015\u0000\u048f"+
53559 "5\u0001\u0000\u0000\u0000\u0490\u0491\u0003L&\u0000\u0491\u0492\u0005"+
53560 "\u0014\u0000\u0000\u0492\u0494\u0001\u0000\u0000\u0000\u0493\u0490\u0001"+
53561 "\u0000\u0000\u0000\u0493\u0494\u0001\u0000\u0000\u0000\u0494\u0495\u0001"+
53562 "\u0000\u0000\u0000\u0495\u0496\u0003N\'\u0000\u04967\u0001\u0000\u0000"+
53563 "\u0000\u0497\u0498\u0003L&\u0000\u0498\u0499\u0005\u0014\u0000\u0000\u0499"+
53564 "\u049b\u0001\u0000\u0000\u0000\u049a\u0497\u0001\u0000\u0000\u0000\u049a"+
53565 "\u049b\u0001\u0000\u0000\u0000\u049b\u049c\u0001\u0000\u0000\u0000\u049c"+
53566 "\u049f\u0003N\'\u0000\u049d\u049e\u0005+\u0000\u0000\u049e\u04a0\u0003"+
53567 "\u001e\u000f\u0000\u049f\u049d\u0001\u0000\u0000\u0000\u049f\u04a0\u0001"+
53568 "\u0000\u0000\u0000\u04a09\u0001\u0000\u0000\u0000\u04a1\u04a2\u0003L&"+
53569 "\u0000\u04a2\u04a3\u0005\u0014\u0000\u0000\u04a3\u04a5\u0001\u0000\u0000"+
53570 "\u0000\u04a4\u04a1\u0001\u0000\u0000\u0000\u04a4\u04a5\u0001\u0000\u0000"+
53571 "\u0000\u04a5\u04a6\u0001\u0000\u0000\u0000\u04a6\u04a7\u0003N\'\u0000"+
53572 "\u04a7;\u0001\u0000\u0000\u0000\u04a8\u04a9\u00034\u001a\u0000\u04a9\u04aa"+
53573 "\u0005\u0014\u0000\u0000\u04aa\u04ac\u0001\u0000\u0000\u0000\u04ab\u04a8"+
53574 "\u0001\u0000\u0000\u0000\u04ab\u04ac\u0001\u0000\u0000\u0000\u04ac\u04ad"+
53575 "\u0001\u0000\u0000\u0000\u04ad\u04ae\u0003N\'\u0000\u04ae=\u0001\u0000"+
53576 "\u0000\u0000\u04af\u04b0\u00034\u001a\u0000\u04b0\u04b1\u0005\u0014\u0000"+
53577 "\u0000\u04b1\u04b3\u0001\u0000\u0000\u0000\u04b2\u04af\u0001\u0000\u0000"+
53578 "\u0000\u04b2\u04b3\u0001\u0000\u0000\u0000\u04b3\u04b4\u0001\u0000\u0000"+
53579 "\u0000\u04b4\u04b5\u0003N\'\u0000\u04b5?\u0001\u0000\u0000\u0000\u04b6"+
53580 "\u04b7\u00032\u0019\u0000\u04b7\u04bb\u0005\u0014\u0000\u0000\u04b8\u04b9"+
53581 "\u0003L&\u0000\u04b9\u04ba\u0005\u0014\u0000\u0000\u04ba\u04bc\u0001\u0000"+
53582 "\u0000\u0000\u04bb\u04b8\u0001\u0000\u0000\u0000\u04bb\u04bc\u0001\u0000"+
53583 "\u0000\u0000\u04bc\u04c3\u0001\u0000\u0000\u0000\u04bd\u04be\u0003L&\u0000"+
53584 "\u04be\u04bf\u0005\u0014\u0000\u0000\u04bf\u04c1\u0001\u0000\u0000\u0000"+
53585 "\u04c0\u04bd\u0001\u0000\u0000\u0000\u04c0\u04c1\u0001\u0000\u0000\u0000"+
53586 "\u04c1\u04c3\u0001\u0000\u0000\u0000\u04c2\u04b6\u0001\u0000\u0000\u0000"+
53587 "\u04c2\u04c0\u0001\u0000\u0000\u0000\u04c3\u04c4\u0001\u0000\u0000\u0000"+
53588 "\u04c4\u04c5\u0003N\'\u0000\u04c5A\u0001\u0000\u0000\u0000\u04c6\u04c7"+
53589 "\u00034\u001a\u0000\u04c7\u04c8\u0005\u0014\u0000\u0000\u04c8\u04ca\u0001"+
53590 "\u0000\u0000\u0000\u04c9\u04c6\u0001\u0000\u0000\u0000\u04c9\u04ca\u0001"+
53591 "\u0000\u0000\u0000\u04ca\u04cb\u0001\u0000\u0000\u0000\u04cb\u04cc\u0003"+
53592 "N\'\u0000\u04ccC\u0001\u0000\u0000\u0000\u04cd\u04ce\u0003N\'\u0000\u04ce"+
53593 "E\u0001\u0000\u0000\u0000\u04cf\u04d0\u0003N\'\u0000\u04d0G\u0001\u0000"+
53594 "\u0000\u0000\u04d1\u04d2\u0003L&\u0000\u04d2\u04d3\u0005\u0014\u0000\u0000"+
53595 "\u04d3\u04d5\u0001\u0000\u0000\u0000\u04d4\u04d1\u0001\u0000\u0000\u0000"+
53596 "\u04d4\u04d5\u0001\u0000\u0000\u0000\u04d5\u04d8\u0001\u0000\u0000\u0000"+
53597 "\u04d6\u04d9\u0003N\'\u0000\u04d7\u04d9\u0003J%\u0000\u04d8\u04d6\u0001"+
53598 "\u0000\u0000\u0000\u04d8\u04d7\u0001\u0000\u0000\u0000\u04d9I\u0001\u0000"+
53599 "\u0000\u0000\u04da\u04db\u0005,\u0000\u0000\u04db\u04dc\u0005\u001f\u0000"+
53600 "\u0000\u04dc\u04dd\u0003N\'\u0000\u04dd\u04de\u0005 \u0000\u0000\u04de"+
53601 "K\u0001\u0000\u0000\u0000\u04df\u04e0\u0003*\u0015\u0000\u04e0M\u0001"+
53602 "\u0000\u0000\u0000\u04e1\u04e2\u0003*\u0015\u0000\u04e2O\u0001\u0000\u0000"+
53603 "\u0000\u04e3\u04e4\u0005\u001f\u0000\u0000\u04e4\u04e9\u0003H$\u0000\u04e5"+
53604 "\u04e6\u0005%\u0000\u0000\u04e6\u04e8\u0003H$\u0000\u04e7\u04e5\u0001"+
53605 "\u0000\u0000\u0000\u04e8\u04eb\u0001\u0000\u0000\u0000\u04e9\u04e7\u0001"+
53606 "\u0000\u0000\u0000\u04e9\u04ea\u0001\u0000\u0000\u0000\u04ea\u04ec\u0001"+
53607 "\u0000\u0000\u0000\u04eb\u04e9\u0001\u0000\u0000\u0000\u04ec\u04ed\u0005"+
53608 " \u0000\u0000\u04edQ\u0001\u0000\u0000\u0000\u04ee\u04ef\u0005\u001f\u0000"+
53609 "\u0000\u04ef\u04f4\u0003\u00b0X\u0000\u04f0\u04f1\u0005%\u0000\u0000\u04f1"+
53610 "\u04f3\u0003\u00b0X\u0000\u04f2\u04f0\u0001\u0000\u0000\u0000\u04f3\u04f6"+
53611 "\u0001\u0000\u0000\u0000\u04f4\u04f2\u0001\u0000\u0000\u0000\u04f4\u04f5"+
53612 "\u0001\u0000\u0000\u0000\u04f5\u04f7\u0001\u0000\u0000\u0000\u04f6\u04f4"+
53613 "\u0001\u0000\u0000\u0000\u04f7\u04f8\u0005 \u0000\u0000\u04f8S\u0001\u0000"+
53614 "\u0000\u0000\u04f9\u04fb\u0005\u001f\u0000\u0000\u04fa\u04f9\u0001\u0000"+
53615 "\u0000\u0000\u04fa\u04fb\u0001\u0000\u0000\u0000\u04fb\u04fc\u0001\u0000"+
53616 "\u0000\u0000\u04fc\u0501\u0003@ \u0000\u04fd\u04fe\u0005%\u0000\u0000"+
53617 "\u04fe\u0500\u0003@ \u0000\u04ff\u04fd\u0001\u0000\u0000\u0000\u0500\u0503"+
53618 "\u0001\u0000\u0000\u0000\u0501\u04ff\u0001\u0000\u0000\u0000\u0501\u0502"+
53619 "\u0001\u0000\u0000\u0000\u0502\u0505\u0001\u0000\u0000\u0000\u0503\u0501"+
53620 "\u0001\u0000\u0000\u0000\u0504\u0506\u0005 \u0000\u0000\u0505\u0504\u0001"+
53621 "\u0000\u0000\u0000\u0505\u0506\u0001\u0000\u0000\u0000\u0506U\u0001\u0000"+
53622 "\u0000\u0000\u0507\u0508\u0003*\u0015\u0000\u0508W\u0001\u0000\u0000\u0000"+
53623 "\u0509\u050a\u0003*\u0015\u0000\u050aY\u0001\u0000\u0000\u0000\u050b\u050c"+
53624 "\u0007\u0007\u0000\u0000\u050c[\u0001\u0000\u0000\u0000\u050d\u0510\u0003"+
53625 "*\u0015\u0000\u050e\u0510\u0005\u02b7\u0000\u0000\u050f\u050d\u0001\u0000"+
53626 "\u0000\u0000\u050f\u050e\u0001\u0000\u0000\u0000\u0510]\u0001\u0000\u0000"+
53627 "\u0000\u0511\u0517\u0005\u001f\u0000\u0000\u0512\u0515\u0005\u02b8\u0000"+
53628 "\u0000\u0513\u0514\u0005%\u0000\u0000\u0514\u0516\u0005\u02b8\u0000\u0000"+
53629 "\u0515\u0513\u0001\u0000\u0000\u0000\u0515\u0516\u0001\u0000\u0000\u0000"+
53630 "\u0516\u0518\u0001\u0000\u0000\u0000\u0517\u0512\u0001\u0000\u0000\u0000"+
53631 "\u0517\u0518\u0001\u0000\u0000\u0000\u0518\u0519\u0001\u0000\u0000\u0000"+
53632 "\u0519\u051a\u0005 \u0000\u0000\u051a_\u0001\u0000\u0000\u0000\u051b\u051d"+
53633 "\u0005@\u0000\u0000\u051c\u051b\u0001\u0000\u0000\u0000\u051c\u051d\u0001"+
53634 "\u0000\u0000\u0000\u051d\u051e\u0001\u0000\u0000\u0000\u051e\u051f\u0005"+
53635 "C\u0000\u0000\u051fa\u0001\u0000\u0000\u0000\u0520\u0521\u00061\uffff"+
53636 "\uffff\u0000\u0521\u0522\u0003h4\u0000\u0522\u0523\u0003b1\u0003\u0523"+
53637 "\u052a\u0001\u0000\u0000\u0000\u0524\u0525\u0005\u001f\u0000\u0000\u0525"+
53638 "\u0526\u0003b1\u0000\u0526\u0527\u0005 \u0000\u0000\u0527\u052a\u0001"+
53639 "\u0000\u0000\u0000\u0528\u052a\u0003j5\u0000\u0529\u0520\u0001\u0000\u0000"+
53640 "\u0000\u0529\u0524\u0001\u0000\u0000\u0000\u0529\u0528\u0001\u0000\u0000"+
53641 "\u0000\u052a\u0535\u0001\u0000\u0000\u0000\u052b\u052c\n\u0005\u0000\u0000"+
53642 "\u052c\u052d\u0003d2\u0000\u052d\u052e\u0003b1\u0006\u052e\u0534\u0001"+
53643 "\u0000\u0000\u0000\u052f\u0530\n\u0004";
53644 private static final String _serializedATNSegment1 =
53645 "\u0000\u0000\u0530\u0531\u0003f3\u0000\u0531\u0532\u0003b1\u0005\u0532"+
53646 "\u0534\u0001\u0000\u0000\u0000\u0533\u052b\u0001\u0000\u0000\u0000\u0533"+
53647 "\u052f\u0001\u0000\u0000\u0000\u0534\u0537\u0001\u0000\u0000\u0000\u0535"+
53648 "\u0533\u0001\u0000\u0000\u0000\u0535\u0536\u0001\u0000\u0000\u0000\u0536"+
53649 "c\u0001\u0000\u0000\u0000\u0537\u0535\u0001\u0000\u0000\u0000\u0538\u0539"+
53650 "\u0007\b\u0000\u0000\u0539e\u0001\u0000\u0000\u0000\u053a\u053b\u0007"+
53651 "\t\u0000\u0000\u053bg\u0001\u0000\u0000\u0000\u053c\u053d\u0007\n\u0000"+
53652 "\u0000\u053di\u0001\u0000\u0000\u0000\u053e\u053f\u00065\uffff\uffff\u0000"+
53653 "\u053f\u0540\u0003n7\u0000\u0540\u0555\u0001\u0000\u0000\u0000\u0541\u0542"+
53654 "\n\u0005\u0000\u0000\u0542\u0544\u0005j\u0000\u0000\u0543\u0545\u0005"+
53655 "k\u0000\u0000\u0544\u0543\u0001\u0000\u0000\u0000\u0544\u0545\u0001\u0000"+
53656 "\u0000\u0000\u0545\u0546\u0001\u0000\u0000\u0000\u0546\u0554\u0007\u000b"+
53657 "\u0000\u0000\u0547\u0548\n\u0004\u0000\u0000\u0548\u0549\u0005\u0016\u0000"+
53658 "\u0000\u0549\u0554\u0003n7\u0000\u054a\u054b\n\u0003\u0000\u0000\u054b"+
53659 "\u054c\u0003l6\u0000\u054c\u054d\u0003n7\u0000\u054d\u0554\u0001\u0000"+
53660 "\u0000\u0000\u054e\u054f\n\u0002\u0000\u0000\u054f\u0550\u0003l6\u0000"+
53661 "\u0550\u0551\u0007\f\u0000\u0000\u0551\u0552\u0003\u02e2\u0171\u0000\u0552"+
53662 "\u0554\u0001\u0000\u0000\u0000\u0553\u0541\u0001\u0000\u0000\u0000\u0553"+
53663 "\u0547\u0001\u0000\u0000\u0000\u0553\u054a\u0001\u0000\u0000\u0000\u0553"+
53664 "\u054e\u0001\u0000\u0000\u0000\u0554\u0557\u0001\u0000\u0000\u0000\u0555"+
53665 "\u0553\u0001\u0000\u0000\u0000\u0555\u0556\u0001\u0000\u0000\u0000\u0556"+
53666 "k\u0001\u0000\u0000\u0000\u0557\u0555\u0001\u0000\u0000\u0000\u0558\u0559"+
53667 "\u0007\r\u0000\u0000\u0559m\u0001\u0000\u0000\u0000\u055a\u055c\u0003"+
53668 "p8\u0000\u055b\u055d\u0005k\u0000\u0000\u055c\u055b\u0001\u0000\u0000"+
53669 "\u0000\u055c\u055d\u0001\u0000\u0000\u0000\u055d\u055e\u0001\u0000\u0000"+
53670 "\u0000\u055e\u055f\u0005q\u0000\u0000\u055f\u0560\u0003\u02e2\u0171\u0000"+
53671 "\u0560\u0586\u0001\u0000\u0000\u0000\u0561\u0563\u0003p8\u0000\u0562\u0564"+
53672 "\u0005k\u0000\u0000\u0563\u0562\u0001\u0000\u0000\u0000\u0563\u0564\u0001"+
53673 "\u0000\u0000\u0000\u0564\u0565\u0001\u0000\u0000\u0000\u0565\u0566\u0005"+
53674 "q\u0000\u0000\u0566\u0567\u0005\u001f\u0000\u0000\u0567\u056c\u0003b1"+
53675 "\u0000\u0568\u0569\u0005%\u0000\u0000\u0569\u056b\u0003b1\u0000\u056a"+
53676 "\u0568\u0001\u0000\u0000\u0000\u056b\u056e\u0001\u0000\u0000\u0000\u056c"+
53677 "\u056a\u0001\u0000\u0000\u0000\u056c\u056d\u0001\u0000\u0000\u0000\u056d"+
53678 "\u056f\u0001\u0000\u0000\u0000\u056e\u056c\u0001\u0000\u0000\u0000\u056f"+
53679 "\u0570\u0005 \u0000\u0000\u0570\u0586\u0001\u0000\u0000\u0000\u0571\u0573"+
53680 "\u0003p8\u0000\u0572\u0574\u0005k\u0000\u0000\u0573\u0572\u0001\u0000"+
53681 "\u0000\u0000\u0573\u0574\u0001\u0000\u0000\u0000\u0574\u0575\u0001\u0000"+
53682 "\u0000\u0000\u0575\u0576\u0005p\u0000\u0000\u0576\u0577\u0003p8\u0000"+
53683 "\u0577\u0578\u0005h\u0000\u0000\u0578\u0579\u0003n7\u0000\u0579\u0586"+
53684 "\u0001\u0000\u0000\u0000\u057a\u057c\u0003p8\u0000\u057b\u057d\u0005k"+
53685 "\u0000\u0000\u057c\u057b\u0001\u0000\u0000\u0000\u057c\u057d\u0001\u0000"+
53686 "\u0000\u0000\u057d\u057e\u0001\u0000\u0000\u0000\u057e\u057f\u0005t\u0000"+
53687 "\u0000\u057f\u0582\u0003r9\u0000\u0580\u0581\u0005\u00da\u0000\u0000\u0581"+
53688 "\u0583\u0003r9\u0000\u0582\u0580\u0001\u0000\u0000\u0000\u0582\u0583\u0001"+
53689 "\u0000\u0000\u0000\u0583\u0586\u0001\u0000\u0000\u0000\u0584\u0586\u0003"+
53690 "p8\u0000\u0585\u055a\u0001\u0000\u0000\u0000\u0585\u0561\u0001\u0000\u0000"+
53691 "\u0000\u0585\u0571\u0001\u0000\u0000\u0000\u0585\u057a\u0001\u0000\u0000"+
53692 "\u0000\u0585\u0584\u0001\u0000\u0000\u0000\u0586o\u0001\u0000\u0000\u0000"+
53693 "\u0587\u0588\u00068\uffff\uffff\u0000\u0588\u0589\u0003r9\u0000\u0589"+
53694 "\u05aa\u0001\u0000\u0000\u0000\u058a\u058b\n\u000b\u0000\u0000\u058b\u058c"+
53695 "\u0005\b\u0000\u0000\u058c\u05a9\u0003p8\f\u058d\u058e\n\n\u0000\u0000"+
53696 "\u058e\u058f\u0005\t\u0000\u0000\u058f\u05a9\u0003p8\u000b\u0590\u0591"+
53697 "\n\t\u0000\u0000\u0591\u0592\u0005\n\u0000\u0000\u0592\u05a9\u0003p8\n"+
53698 "\u0593\u0594\n\b\u0000\u0000\u0594\u0595\u0005\u000b\u0000\u0000\u0595"+
53699 "\u05a9\u0003p8\t\u0596\u0597\n\u0007\u0000\u0000\u0597\u0598\u0005\u000f"+
53700 "\u0000\u0000\u0598\u05a9\u0003p8\b\u0599\u059a\n\u0006\u0000\u0000\u059a"+
53701 "\u059b\u0005\u0010\u0000\u0000\u059b\u05a9\u0003p8\u0007\u059c\u059d\n"+
53702 "\u0005\u0000\u0000\u059d\u059e\u0005\u0011\u0000\u0000\u059e\u05a9\u0003"+
53703 "p8\u0006\u059f\u05a0\n\u0004\u0000\u0000\u05a0\u05a1\u0005\u0012\u0000"+
53704 "\u0000\u05a1\u05a9\u0003p8\u0005\u05a2\u05a3\n\u0003\u0000\u0000\u05a3"+
53705 "\u05a4\u0005\r\u0000\u0000\u05a4\u05a9\u0003p8\u0004\u05a5\u05a6\n\u0002"+
53706 "\u0000\u0000\u05a6\u05a7\u0005\f\u0000\u0000\u05a7\u05a9\u0003p8\u0003"+
53707 "\u05a8\u058a\u0001\u0000\u0000\u0000\u05a8\u058d\u0001\u0000\u0000\u0000"+
53708 "\u05a8\u0590\u0001\u0000\u0000\u0000\u05a8\u0593\u0001\u0000\u0000\u0000"+
53709 "\u05a8\u0596\u0001\u0000\u0000\u0000\u05a8\u0599\u0001\u0000\u0000\u0000"+
53710 "\u05a8\u059c\u0001\u0000\u0000\u0000\u05a8\u059f\u0001\u0000\u0000\u0000"+
53711 "\u05a8\u05a2\u0001\u0000\u0000\u0000\u05a8\u05a5\u0001\u0000\u0000\u0000"+
53712 "\u05a9\u05ac\u0001\u0000\u0000\u0000\u05aa\u05a8\u0001\u0000\u0000\u0000"+
53713 "\u05aa\u05ab\u0001\u0000\u0000\u0000\u05abq\u0001\u0000\u0000\u0000\u05ac"+
53714 "\u05aa\u0001\u0000\u0000\u0000\u05ad\u05ae\u00069\uffff\uffff\u0000\u05ae"+
53715 "\u05cf\u0003t:\u0000\u05af\u05cf\u0003\u0018\f\u0000\u05b0\u05cf\u0003"+
53716 "\u001a\r\u0000\u05b1\u05cf\u0003H$\u0000\u05b2\u05cf\u0003\u00d0h\u0000"+
53717 "\u05b3\u05b4\u0007\u000e\u0000\u0000\u05b4\u05cf\u0003r9\u0006\u05b5\u05b7"+
53718 "\u0005\u00e0\u0000\u0000\u05b6\u05b5\u0001\u0000\u0000\u0000\u05b6\u05b7"+
53719 "\u0001\u0000\u0000\u0000\u05b7\u05b8\u0001\u0000\u0000\u0000\u05b8\u05b9"+
53720 "\u0005\u001f\u0000\u0000\u05b9\u05be\u0003b1\u0000\u05ba\u05bb\u0005%"+
53721 "\u0000\u0000\u05bb\u05bd\u0003b1\u0000\u05bc\u05ba\u0001\u0000\u0000\u0000"+
53722 "\u05bd\u05c0\u0001\u0000\u0000\u0000\u05be\u05bc\u0001\u0000\u0000\u0000"+
53723 "\u05be\u05bf\u0001\u0000\u0000\u0000\u05bf\u05c1\u0001\u0000\u0000\u0000"+
53724 "\u05c0\u05be\u0001\u0000\u0000\u0000\u05c1\u05c2\u0005 \u0000\u0000\u05c2"+
53725 "\u05cf\u0001\u0000\u0000\u0000\u05c3\u05c5\u0005o\u0000\u0000\u05c4\u05c3"+
53726 "\u0001\u0000\u0000\u0000\u05c4\u05c5\u0001\u0000\u0000\u0000\u05c5\u05c6"+
53727 "\u0001\u0000\u0000\u0000\u05c6\u05cf\u0003\u02e2\u0171\u0000\u05c7\u05c8"+
53728 "\u0005!\u0000\u0000\u05c8\u05c9\u0003*\u0015\u0000\u05c9\u05ca\u0003b"+
53729 "1\u0000\u05ca\u05cb\u0005\"\u0000\u0000\u05cb\u05cf\u0001\u0000\u0000"+
53730 "\u0000\u05cc\u05cf\u0003\u0088D\u0000\u05cd\u05cf\u0003\u008eG\u0000\u05ce"+
53731 "\u05ad\u0001\u0000\u0000\u0000\u05ce\u05af\u0001\u0000\u0000\u0000\u05ce"+
53732 "\u05b0\u0001\u0000\u0000\u0000\u05ce\u05b1\u0001\u0000\u0000\u0000\u05ce"+
53733 "\u05b2\u0001\u0000\u0000\u0000\u05ce\u05b3\u0001\u0000\u0000\u0000\u05ce"+
53734 "\u05b6\u0001\u0000\u0000\u0000\u05ce\u05c4\u0001\u0000\u0000\u0000\u05ce"+
53735 "\u05c7\u0001\u0000\u0000\u0000\u05ce\u05cc\u0001\u0000\u0000\u0000\u05ce"+
53736 "\u05cd\u0001\u0000\u0000\u0000\u05cf\u05d5\u0001\u0000\u0000\u0000\u05d0"+
53737 "\u05d1\n\u0007\u0000\u0000\u05d1\u05d2\u0005\u0005\u0000\u0000\u05d2\u05d4"+
53738 "\u0003r9\b\u05d3\u05d0\u0001\u0000\u0000\u0000\u05d4\u05d7\u0001\u0000"+
53739 "\u0000\u0000\u05d5\u05d3\u0001\u0000\u0000\u0000\u05d5\u05d6\u0001\u0000"+
53740 "\u0000\u0000\u05d6s\u0001\u0000\u0000\u0000\u05d7\u05d5\u0001\u0000\u0000"+
53741 "\u0000\u05d8\u05dc\u0003v;\u0000\u05d9\u05dc\u0003|>\u0000\u05da\u05dc"+
53742 "\u0003\u0084B\u0000\u05db\u05d8\u0001\u0000\u0000\u0000\u05db\u05d9\u0001"+
53743 "\u0000\u0000\u0000\u05db\u05da\u0001\u0000\u0000\u0000\u05dcu\u0001\u0000"+
53744 "\u0000\u0000\u05dd\u05de\u0003x<\u0000\u05de\u05e0\u0005\u001f\u0000\u0000"+
53745 "\u05df\u05e1\u0003z=\u0000\u05e0\u05df\u0001\u0000\u0000\u0000\u05e0\u05e1"+
53746 "\u0001\u0000\u0000\u0000\u05e1\u05eb\u0001\u0000\u0000\u0000\u05e2\u05e7"+
53747 "\u0003b1\u0000\u05e3\u05e4\u0005%\u0000\u0000\u05e4\u05e6\u0003b1\u0000"+
53748 "\u05e5\u05e3\u0001\u0000\u0000\u0000\u05e6\u05e9\u0001\u0000\u0000\u0000"+
53749 "\u05e7\u05e5\u0001\u0000\u0000\u0000\u05e7\u05e8\u0001\u0000\u0000\u0000"+
53750 "\u05e8\u05ec\u0001\u0000\u0000\u0000\u05e9\u05e7\u0001\u0000\u0000\u0000"+
53751 "\u05ea\u05ec\u0005\u0011\u0000\u0000\u05eb\u05e2\u0001\u0000\u0000\u0000"+
53752 "\u05eb\u05ea\u0001\u0000\u0000\u0000\u05eb\u05ec\u0001\u0000\u0000\u0000"+
53753 "\u05ec\u05ed\u0001\u0000\u0000\u0000\u05ed\u05ee\u0005 \u0000\u0000\u05ee"+
53754 "w\u0001\u0000\u0000\u0000\u05ef\u05f0\u0007\u000f\u0000\u0000\u05f0y\u0001"+
53755 "\u0000\u0000\u0000\u05f1\u05f2\u0005O\u0000\u0000\u05f2{\u0001\u0000\u0000"+
53756 "\u0000\u05f3\u05f7\u0003~?\u0000\u05f4\u05f7\u0003\u0082A\u0000\u05f5"+
53757 "\u05f7\u0003\u0080@\u0000\u05f6\u05f3\u0001\u0000\u0000\u0000\u05f6\u05f4"+
53758 "\u0001\u0000\u0000\u0000\u05f6\u05f5\u0001\u0000\u0000\u0000\u05f7}\u0001"+
53759 "\u0000\u0000\u0000\u05f8\u05f9\u0005R\u0000\u0000\u05f9\u05fa\u0005\u001f"+
53760 "\u0000\u0000\u05fa\u05fb\u0003b1\u0000\u05fb\u05fc\u0005`\u0000\u0000"+
53761 "\u05fc\u05fd\u0003\u0094J\u0000\u05fd\u05fe\u0005 \u0000\u0000\u05fe\u007f"+
53762 "\u0001\u0000\u0000\u0000\u05ff\u0600\u0005\u00f9\u0000\u0000\u0600\u0601"+
53763 "\u0005\u001f\u0000\u0000\u0601\u0602\u0003\u0094J\u0000\u0602\u0603\u0005"+
53764 "%\u0000\u0000\u0603\u0606\u0003b1\u0000\u0604\u0605\u0005%\u0000\u0000"+
53765 "\u0605\u0607\u0005\u02b8\u0000\u0000\u0606\u0604\u0001\u0000\u0000\u0000"+
53766 "\u0606\u0607\u0001\u0000\u0000\u0000\u0607\u0608\u0001\u0000\u0000\u0000"+
53767 "\u0608\u0609\u0005 \u0000\u0000\u0609\u0081\u0001\u0000\u0000\u0000\u060a"+
53768 "\u060b\u0005\u0083\u0000\u0000\u060b\u060c\u0005\u001f\u0000\u0000\u060c"+
53769 "\u0611\u0003b1\u0000\u060d\u060e\u0005%\u0000\u0000\u060e\u0610\u0003"+
53770 "b1\u0000\u060f\u060d\u0001\u0000\u0000\u0000\u0610\u0613\u0001\u0000\u0000"+
53771 "\u0000\u0611\u060f\u0001\u0000\u0000\u0000\u0611\u0612\u0001\u0000\u0000"+
53772 "\u0000\u0612\u0616\u0001\u0000\u0000\u0000\u0613\u0611\u0001\u0000\u0000"+
53773 "\u0000\u0614\u0615\u0005^\u0000\u0000\u0615\u0617\u0003\u00cae\u0000\u0616"+
53774 "\u0614\u0001\u0000\u0000\u0000\u0616\u0617\u0001\u0000\u0000\u0000\u0617"+
53775 "\u0618\u0001\u0000\u0000\u0000\u0618\u0619\u0005 \u0000\u0000\u0619\u0083"+
53776 "\u0001\u0000\u0000\u0000\u061a\u061b\u0003\u0086C\u0000\u061b\u0625\u0005"+
53777 "\u001f\u0000\u0000\u061c\u0621\u0003b1\u0000\u061d\u061e\u0005%\u0000"+
53778 "\u0000\u061e\u0620\u0003b1\u0000\u061f\u061d\u0001\u0000\u0000\u0000\u0620"+
53779 "\u0623\u0001\u0000\u0000\u0000\u0621\u061f\u0001\u0000\u0000\u0000\u0621"+
53780 "\u0622\u0001\u0000\u0000\u0000\u0622\u0626\u0001\u0000\u0000\u0000\u0623"+
53781 "\u0621\u0001\u0000\u0000\u0000\u0624\u0626\u0005\u0011\u0000\u0000\u0625"+
53782 "\u061c\u0001\u0000\u0000\u0000\u0625\u0624\u0001\u0000\u0000\u0000\u0625"+
53783 "\u0626\u0001\u0000\u0000\u0000\u0626\u0627\u0001\u0000\u0000\u0000\u0627"+
53784 "\u0628\u0005 \u0000\u0000\u0628\u0085\u0001\u0000\u0000\u0000\u0629\u062a"+
53785 "\u0003L&\u0000\u062a\u062b\u0005\u0014\u0000\u0000\u062b\u062d\u0001\u0000"+
53786 "\u0000\u0000\u062c\u0629\u0001\u0000\u0000\u0000\u062c\u062d\u0001\u0000"+
53787 "\u0000\u0000\u062d\u062e\u0001\u0000\u0000\u0000\u062e\u0634\u0003*\u0015"+
53788 "\u0000\u062f\u0634\u0005c\u0000\u0000\u0630\u0634\u0005\u008a\u0000\u0000"+
53789 "\u0631\u0634\u0005\u008b\u0000\u0000\u0632\u0634\u0005\u0086\u0000\u0000"+
53790 "\u0633\u062c\u0001\u0000\u0000\u0000\u0633\u062f\u0001\u0000\u0000\u0000"+
53791 "\u0633\u0630\u0001\u0000\u0000\u0000\u0633\u0631\u0001\u0000\u0000\u0000"+
53792 "\u0633\u0632\u0001\u0000\u0000\u0000\u0634\u0087\u0001\u0000\u0000\u0000"+
53793 "\u0635\u0637\u0005P\u0000\u0000\u0636\u0638\u0003r9\u0000\u0637\u0636"+
53794 "\u0001\u0000\u0000\u0000\u0637\u0638\u0001\u0000\u0000\u0000\u0638\u063a"+
53795 "\u0001\u0000\u0000\u0000\u0639\u063b\u0003\u008aE\u0000\u063a\u0639\u0001"+
53796 "\u0000\u0000\u0000\u063b\u063c\u0001\u0000\u0000\u0000\u063c\u063a\u0001"+
53797 "\u0000\u0000\u0000\u063c\u063d\u0001\u0000\u0000\u0000\u063d\u063f\u0001"+
53798 "\u0000\u0000\u0000\u063e\u0640\u0003\u008cF\u0000\u063f\u063e\u0001\u0000"+
53799 "\u0000\u0000\u063f\u0640\u0001\u0000\u0000\u0000\u0640\u0641\u0001\u0000"+
53800 "\u0000\u0000\u0641\u0642\u0005\u0105\u0000\u0000\u0642\u0089\u0001\u0000"+
53801 "\u0000\u0000\u0643\u0644\u0005Q\u0000\u0000\u0644\u0645\u0003b1\u0000"+
53802 "\u0645\u0646\u0005e\u0000\u0000\u0646\u0647\u0003b1\u0000\u0647\u008b"+
53803 "\u0001\u0000\u0000\u0000\u0648\u0649\u0005d\u0000\u0000\u0649\u064a\u0003"+
53804 "b1\u0000\u064a\u008d\u0001\u0000\u0000\u0000\u064b\u0650\u0003\u009eO"+
53805 "\u0000\u064c\u0650\u0003\u0098L\u0000\u064d\u0650\u0003\u009aM\u0000\u064e"+
53806 "\u0650\u0003\u009cN\u0000\u064f\u064b\u0001\u0000\u0000\u0000\u064f\u064c"+
53807 "\u0001\u0000\u0000\u0000\u064f\u064d\u0001\u0000\u0000\u0000\u064f\u064e"+
53808 "\u0001\u0000\u0000\u0000\u0650\u008f\u0001\u0000\u0000\u0000\u0651\u0652"+
53809 "\u0005u\u0000\u0000\u0652\u0653\u0005w\u0000\u0000\u0653\u0658\u0003\u0092"+
53810 "I\u0000\u0654\u0655\u0005%\u0000\u0000\u0655\u0657\u0003\u0092I\u0000"+
53811 "\u0656\u0654\u0001\u0000\u0000\u0000\u0657\u065a\u0001\u0000\u0000\u0000"+
53812 "\u0658\u0656\u0001\u0000\u0000\u0000\u0658\u0659\u0001\u0000\u0000\u0000"+
53813 "\u0659\u0666\u0001\u0000\u0000\u0000\u065a\u0658\u0001\u0000\u0000\u0000"+
53814 "\u065b\u065c\u0005|\u0000\u0000\u065c\u065d\u0003b1\u0000\u065d\u0664"+
53815 "\u0007\u0010\u0000\u0000\u065e\u065f\u0005\u01a6\u0000\u0000\u065f\u0660"+
53816 "\u0007\u0011\u0000\u0000\u0660\u0661\u0003b1\u0000\u0661\u0662\u0007\u0010"+
53817 "\u0000\u0000\u0662\u0663\u0005\u01a8\u0000\u0000\u0663\u0665\u0001\u0000"+
53818 "\u0000\u0000\u0664\u065e\u0001\u0000\u0000\u0000\u0664\u0665\u0001\u0000"+
53819 "\u0000\u0000\u0665\u0667\u0001\u0000\u0000\u0000\u0666\u065b\u0001\u0000"+
53820 "\u0000\u0000\u0666\u0667\u0001\u0000\u0000\u0000\u0667\u0091\u0001\u0000"+
53821 "\u0000\u0000\u0668\u066c\u0003H$\u0000\u0669\u066c\u0003\u001e\u000f\u0000"+
53822 "\u066a\u066c\u0003b1\u0000\u066b\u0668\u0001\u0000\u0000\u0000\u066b\u0669"+
53823 "\u0001\u0000\u0000\u0000\u066b\u066a\u0001\u0000\u0000\u0000\u066c\u066f"+
53824 "\u0001\u0000\u0000\u0000\u066d\u066e\u0005\u00f6\u0000\u0000\u066e\u0670"+
53825 "\u0003*\u0015\u0000\u066f\u066d\u0001\u0000\u0000\u0000\u066f\u0670\u0001"+
53826 "\u0000\u0000\u0000\u0670\u0672\u0001\u0000\u0000\u0000\u0671\u0673\u0007"+
53827 "\u0012\u0000\u0000\u0672\u0671\u0001\u0000\u0000\u0000\u0672\u0673\u0001"+
53828 "\u0000\u0000\u0000\u0673\u0093\u0001\u0000\u0000\u0000\u0674\u0675\u0003"+
53829 "\u00cae\u0000\u0675\u0676\u0005\u0014\u0000\u0000\u0676\u0678\u0001\u0000"+
53830 "\u0000\u0000\u0677\u0674\u0001\u0000\u0000\u0000\u0677\u0678\u0001\u0000"+
53831 "\u0000\u0000\u0678\u0679\u0001\u0000\u0000\u0000\u0679\u0685\u0003\u0096"+
53832 "K\u0000\u067a\u0686\u0003^/\u0000\u067b\u067c\u0005\u001f\u0000\u0000"+
53833 "\u067c\u067d\u0005\u0095\u0000\u0000\u067d\u0686\u0005 \u0000\u0000\u067e"+
53834 "\u0680\u0005\u001f\u0000\u0000\u067f\u0681\u0007\u0013\u0000\u0000\u0680"+
53835 "\u067f\u0001\u0000\u0000\u0000\u0680\u0681\u0001\u0000\u0000\u0000\u0681"+
53836 "\u0682\u0001\u0000\u0000\u0000\u0682\u0683\u0003\u00cae\u0000\u0683\u0684"+
53837 "\u0005 \u0000\u0000\u0684\u0686\u0001\u0000\u0000\u0000\u0685\u067a\u0001"+
53838 "\u0000\u0000\u0000\u0685\u067b\u0001\u0000\u0000\u0000\u0685\u067e\u0001"+
53839 "\u0000\u0000\u0000\u0685\u0686\u0001\u0000\u0000\u0000\u0686\u0095\u0001"+
53840 "\u0000\u0000\u0000\u0687\u0688\u0007\u0014\u0000\u0000\u0688\u0097\u0001"+
53841 "\u0000\u0000\u0000\u0689\u068d\u0005\u02b5\u0000\u0000\u068a\u068b\u0005"+
53842 "M\u0000\u0000\u068b\u068c\u0005\u0088\u0000\u0000\u068c\u068e\u0005\u012c"+
53843 "\u0000\u0000\u068d\u068a\u0001\u0000\u0000\u0000\u068d\u068e\u0001\u0000"+
53844 "\u0000\u0000\u068e\u068f\u0001\u0000\u0000\u0000\u068f\u0690\u0005\u02b7"+
53845 "\u0000\u0000\u0690\u0099\u0001\u0000\u0000\u0000\u0691\u0692\u0005R\u0000"+
53846 "\u0000\u0692\u0693\u0005\u001f\u0000\u0000\u0693\u0694\u0003b1\u0000\u0694"+
53847 "\u0695\u0005`\u0000\u0000\u0695\u0699\u0003\u0094J\u0000\u0696\u0697\u0005"+
53848 "\u001f\u0000\u0000\u0697\u0698\u0005\u02b8\u0000\u0000\u0698\u069a\u0005"+
53849 " \u0000\u0000\u0699\u0696\u0001\u0000\u0000\u0000\u0699\u069a\u0001\u0000"+
53850 "\u0000\u0000\u069a\u069b\u0001\u0000\u0000\u0000\u069b\u069c\u0005 \u0000"+
53851 "\u0000\u069c\u009b\u0001\u0000\u0000\u0000\u069d\u069e\u0005\u00f9\u0000"+
53852 "\u0000\u069e\u06a2\u0003\u0094J\u0000\u069f\u06a0\u0005\u001f\u0000\u0000"+
53853 "\u06a0\u06a1\u0005\u02b8\u0000\u0000\u06a1\u06a3\u0005 \u0000\u0000\u06a2"+
53854 "\u069f\u0001\u0000\u0000\u0000\u06a2\u06a3\u0001\u0000\u0000\u0000\u06a3"+
53855 "\u06a4\u0001\u0000\u0000\u0000\u06a4\u06a5\u0005%\u0000\u0000\u06a5\u06a8"+
53856 "\u0003b1\u0000\u06a6\u06a7\u0005%\u0000\u0000\u06a7\u06a9\u0005\u02b8"+
53857 "\u0000\u0000\u06a8\u06a6\u0001\u0000\u0000\u0000\u06a8\u06a9\u0001\u0000"+
53858 "\u0000\u0000\u06a9\u009d\u0001\u0000\u0000\u0000\u06aa\u06ab\u0003t:\u0000"+
53859 "\u06ab\u06ac\u0003\u00a0P\u0000\u06ac\u009f\u0001\u0000\u0000\u0000\u06ad"+
53860 "\u06ae\u0005\u0119\u0000\u0000\u06ae\u06b0\u0005\u001f\u0000\u0000\u06af"+
53861 "\u06b1\u0003\u00a2Q\u0000\u06b0\u06af\u0001\u0000\u0000\u0000\u06b0\u06b1"+
53862 "\u0001\u0000\u0000\u0000\u06b1\u06b3\u0001\u0000\u0000\u0000\u06b2\u06b4"+
53863 "\u0003\u0090H\u0000\u06b3\u06b2\u0001\u0000\u0000\u0000\u06b3\u06b4\u0001"+
53864 "\u0000\u0000\u0000\u06b4\u06b6\u0001\u0000\u0000\u0000\u06b5\u06b7\u0003"+
53865 "\u00a4R\u0000\u06b6\u06b5\u0001\u0000\u0000\u0000\u06b6\u06b7\u0001\u0000"+
53866 "\u0000\u0000\u06b7\u06b8\u0001\u0000\u0000\u0000\u06b8\u06b9\u0005 \u0000"+
53867 "\u0000\u06b9\u00a1\u0001\u0000\u0000\u0000\u06ba\u06bb\u0005\u00dd\u0000"+
53868 "\u0000\u06bb\u06bc\u0005w\u0000\u0000\u06bc\u06c1\u0003b1\u0000\u06bd"+
53869 "\u06be\u0005%\u0000\u0000\u06be\u06c0\u0003b1\u0000\u06bf\u06bd\u0001"+
53870 "\u0000\u0000\u0000\u06c0\u06c3\u0001\u0000\u0000\u0000\u06c1\u06bf\u0001"+
53871 "\u0000\u0000\u0000\u06c1\u06c2\u0001\u0000\u0000\u0000\u06c2\u00a3\u0001"+
53872 "\u0000\u0000\u0000\u06c3\u06c1\u0001\u0000\u0000\u0000\u06c4\u06c5\u0007"+
53873 "\u0015\u0000\u0000\u06c5\u06c6\u0003\u00a6S\u0000\u06c6\u00a5\u0001\u0000"+
53874 "\u0000\u0000\u06c7\u06ca\u0003\u00acV\u0000\u06c8\u06ca\u0003\u00a8T\u0000"+
53875 "\u06c9\u06c7\u0001\u0000\u0000\u0000\u06c9\u06c8\u0001\u0000\u0000\u0000"+
53876 "\u06ca\u00a7\u0001\u0000\u0000\u0000\u06cb\u06cc\u0005p\u0000\u0000\u06cc"+
53877 "\u06cd\u0003\u00aaU\u0000\u06cd\u06ce\u0005h\u0000\u0000\u06ce\u06cf\u0003"+
53878 "\u00aaU\u0000\u06cf\u00a9\u0001\u0000\u0000\u0000\u06d0\u06d3\u0003\u00ac"+
53879 "V\u0000\u06d1\u06d3\u0003\u00aeW\u0000\u06d2\u06d0\u0001\u0000\u0000\u0000"+
53880 "\u06d2\u06d1\u0001\u0000\u0000\u0000\u06d3\u00ab\u0001\u0000\u0000\u0000"+
53881 "\u06d4\u06d5\u0005\u010f\u0000\u0000\u06d5\u06db\u0005\u011e\u0000\u0000"+
53882 "\u06d6\u06d7\u0005\u02b8\u0000\u0000\u06d7\u06db\u0005\u011e\u0000\u0000"+
53883 "\u06d8\u06d9\u0005\u009b\u0000\u0000\u06d9\u06db\u0005\u00e0\u0000\u0000"+
53884 "\u06da\u06d4\u0001\u0000\u0000\u0000\u06da\u06d6\u0001\u0000\u0000\u0000"+
53885 "\u06da\u06d8\u0001\u0000\u0000\u0000\u06db\u00ad\u0001\u0000\u0000\u0000"+
53886 "\u06dc\u06dd\u0005\u010f\u0000\u0000\u06dd\u06e3\u0005\u0109\u0000\u0000"+
53887 "\u06de\u06df\u0005\u02b8\u0000\u0000\u06df\u06e3\u0005\u0109\u0000\u0000"+
53888 "\u06e0\u06e1\u0005\u009b\u0000\u0000\u06e1\u06e3\u0005\u00e0\u0000\u0000"+
53889 "\u06e2\u06dc\u0001\u0000\u0000\u0000\u06e2\u06de\u0001\u0000\u0000\u0000"+
53890 "\u06e2\u06e0\u0001\u0000\u0000\u0000\u06e3\u00af\u0001\u0000\u0000\u0000"+
53891 "\u06e4\u06e6\u0003H$\u0000\u06e5\u06e7\u0007\u0012\u0000\u0000\u06e6\u06e5"+
53892 "\u0001\u0000\u0000\u0000\u06e6\u06e7\u0001\u0000\u0000\u0000\u06e7\u00b1"+
53893 "\u0001\u0000\u0000\u0000\u06e8\u06e9\u0005\u0108\u0000\u0000\u06e9\u06ea"+
53894 "\u0005\u0018\u0000\u0000\u06ea\u06f6\u0005\u02b8\u0000\u0000\u06eb\u06f6"+
53895 "\u0003\u00b8\\\u0000\u06ec\u06ed\u0007\u0016\u0000\u0000\u06ed\u06f6\u0003"+
53896 "\u00b6[\u0000\u06ee\u06ef\u0005\u0113\u0000\u0000\u06ef\u06f0\u0005\u0018"+
53897 "\u0000\u0000\u06f0\u06f6\u0005\u02b8\u0000\u0000\u06f1\u06f3\u0003\u00b4"+
53898 "Z\u0000\u06f2\u06f4\u0003\u00be_\u0000\u06f3\u06f2\u0001\u0000\u0000\u0000"+
53899 "\u06f3\u06f4\u0001\u0000\u0000\u0000\u06f4\u06f6\u0001\u0000\u0000\u0000"+
53900 "\u06f5\u06e8\u0001\u0000\u0000\u0000\u06f5\u06eb\u0001\u0000\u0000\u0000"+
53901 "\u06f5\u06ec\u0001\u0000\u0000\u0000\u06f5\u06ee\u0001\u0000\u0000\u0000"+
53902 "\u06f5\u06f1\u0001\u0000\u0000\u0000\u06f6\u00b3\u0001\u0000\u0000\u0000"+
53903 "\u06f7\u06f8\u0005\u0186\u0000\u0000\u06f8\u06f9\u0005\u0018\u0000\u0000"+
53904 "\u06f9\u06fa\u0007\u0017\u0000\u0000\u06fa\u00b5\u0001\u0000\u0000\u0000"+
53905 "\u06fb\u06fc\u0005\u0018\u0000\u0000\u06fc\u06fe\u0005\u02b8\u0000\u0000"+
53906 "\u06fd\u06ff\u0005\u00fe\u0000\u0000\u06fe\u06fd\u0001\u0000\u0000\u0000"+
53907 "\u06fe\u06ff\u0001\u0000\u0000\u0000\u06ff\u00b7\u0001\u0000\u0000\u0000"+
53908 "\u0700\u0701\u0003\u00ba]\u0000\u0701\u0702\u0003\u00bc^\u0000\u0702\u00b9"+
53909 "\u0001\u0000\u0000\u0000\u0703\u0704\u0007\u0018\u0000\u0000\u0704\u00bb"+
53910 "\u0001\u0000\u0000\u0000\u0705\u0706\u0005\u0018\u0000\u0000\u0706\u0707"+
53911 "\u0007\u0000\u0000\u0000\u0707\u00bd\u0001\u0000\u0000\u0000\u0708\u0709"+
53912 "\u0005a\u0000\u0000\u0709\u070a\u0005\u00de\u0000\u0000\u070a\u070b\u0005"+
53913 "\u001f\u0000\u0000\u070b\u070c\u0003\u00c0`\u0000\u070c\u070d\u0005 \u0000"+
53914 "\u0000\u070d\u00bf\u0001\u0000\u0000\u0000\u070e\u0713\u0003\u00c2a\u0000"+
53915 "\u070f\u0710\u0005%\u0000\u0000\u0710\u0712\u0003\u00c2a\u0000\u0711\u070f"+
53916 "\u0001\u0000\u0000\u0000\u0712\u0715\u0001\u0000\u0000\u0000\u0713\u0711"+
53917 "\u0001\u0000\u0000\u0000\u0713\u0714\u0001\u0000\u0000\u0000\u0714\u00c1"+
53918 "\u0001\u0000\u0000\u0000\u0715\u0713\u0001\u0000\u0000\u0000\u0716\u0719"+
53919 "\u0005\u02b8\u0000\u0000\u0717\u0719\u0003\u00c4b\u0000\u0718\u0716\u0001"+
53920 "\u0000\u0000\u0000\u0718\u0717\u0001\u0000\u0000\u0000\u0719\u00c3\u0001"+
53921 "\u0000\u0000\u0000\u071a\u071b\u0005\u02b8\u0000\u0000\u071b\u071c\u0005"+
53922 "g\u0000\u0000\u071c\u071d\u0005\u02b8\u0000\u0000\u071d\u00c5\u0001\u0000"+
53923 "\u0000\u0000\u071e\u071f\u0005\u018c\u0000\u0000\u071f\u0720\u0005\u001f"+
53924 "\u0000\u0000\u0720\u0721\u0005\u0195\u0000\u0000\u0721\u0722\u0005\u0018"+
53925 "\u0000\u0000\u0722\u0724\u0005\u02b8\u0000\u0000\u0723\u0725\u0005\u00fe"+
53926 "\u0000\u0000\u0724\u0723\u0001\u0000\u0000\u0000\u0724\u0725\u0001\u0000"+
53927 "\u0000\u0000\u0725\u0726\u0001\u0000\u0000\u0000\u0726\u0727\u0005%\u0000"+
53928 "\u0000\u0727\u0728\u0005\u017c\u0000\u0000\u0728\u0729\u0005\u0018\u0000"+
53929 "\u0000\u0729\u072a\u0007\u0019\u0000\u0000\u072a\u072b\u0005 \u0000\u0000"+
53930 "\u072b\u00c7\u0001\u0000\u0000\u0000\u072c\u0731\u0005a\u0000\u0000\u072d"+
53931 "\u072e\u0005\u001f\u0000\u0000\u072e\u072f\u0003\u00c6c\u0000\u072f\u0730"+
53932 "\u0005 \u0000\u0000\u0730\u0732\u0001\u0000\u0000\u0000\u0731\u072d\u0001"+
53933 "\u0000\u0000\u0000\u0731\u0732\u0001\u0000\u0000\u0000\u0732\u00c9\u0001"+
53934 "\u0000\u0000\u0000\u0733\u0734\u0005\u02b5\u0000\u0000\u0734\u00cb\u0001"+
53935 "\u0000\u0000\u0000\u0735\u073a\u0003\u00cae\u0000\u0736\u0737\u0005%\u0000"+
53936 "\u0000\u0737\u0739\u0003\u00cae\u0000\u0738\u0736\u0001\u0000\u0000\u0000"+
53937 "\u0739\u073c\u0001\u0000\u0000\u0000\u073a\u0738\u0001\u0000\u0000\u0000"+
53938 "\u073a\u073b\u0001\u0000\u0000\u0000\u073b\u00cd\u0001\u0000\u0000\u0000"+
53939 "\u073c\u073a\u0001\u0000\u0000\u0000\u073d\u073e\u0005\u0001\u0000\u0000"+
53940 "\u073e\u00cf\u0001\u0000\u0000\u0000\u073f\u0740\u0003*\u0015\u0000\u0740"+
53941 "\u00d1\u0001\u0000\u0000\u0000\u0741\u0742\u0007\u001a\u0000\u0000\u0742"+
53942 "\u0747\u0005`\u0000\u0000\u0743\u0748\u0005\u01f9\u0000\u0000\u0744\u0748"+
53943 "\u0005\u0127\u0000\u0000\u0745\u0748\u0005\u01fe\u0000\u0000\u0746\u0748"+
53944 "\u0003\u001c\u000e\u0000\u0747\u0743\u0001\u0000\u0000\u0000\u0747\u0744"+
53945 "\u0001\u0000\u0000\u0000\u0747\u0745\u0001\u0000\u0000\u0000\u0747\u0746"+
53946 "\u0001\u0000\u0000\u0000\u0748\u00d3\u0001\u0000\u0000\u0000\u0749\u074a"+
53947 "\u0003*\u0015\u0000\u074a\u00d5\u0001\u0000\u0000\u0000\u074b\u074c\u0003"+
53948 "\u00d0h\u0000\u074c\u00d7\u0001\u0000\u0000\u0000\u074d\u074e\u0003*\u0015"+
53949 "\u0000\u074e\u00d9\u0001\u0000\u0000\u0000\u074f\u0750\u0003\u00d0h\u0000"+
53950 "\u0750\u00db\u0001\u0000\u0000\u0000\u0751\u0752\u0007\u001b\u0000\u0000"+
53951 "\u0752\u00dd\u0001\u0000\u0000\u0000\u0753\u0754\u0005c\u0000\u0000\u0754"+
53952 "\u0755\u0005o\u0000\u0000\u0755\u00df\u0001\u0000\u0000\u0000\u0756\u0757"+
53953 "\u0005\u009e\u0000\u0000\u0757\u00e1\u0001\u0000\u0000\u0000\u0758\u075a"+
53954 "\u0005\u0284\u0000\u0000\u0759\u075b\u0005\u0285\u0000\u0000\u075a\u0759"+
53955 "\u0001\u0000\u0000\u0000\u075a\u075b\u0001\u0000\u0000\u0000\u075b\u075c"+
53956 "\u0001\u0000\u0000\u0000\u075c\u075d\u0003\u00e4r\u0000\u075d\u00e3\u0001"+
53957 "\u0000\u0000\u0000\u075e\u0764\u0003\u02bc\u015e\u0000\u075f\u0764\u0003"+
53958 "\u029e\u014f\u0000\u0760\u0764\u0003\u02aa\u0155\u0000\u0761\u0764\u0003"+
53959 "\u02b4\u015a\u0000\u0762\u0764\u0003\u0294\u014a\u0000\u0763\u075e\u0001"+
53960 "\u0000\u0000\u0000\u0763\u075f\u0001\u0000\u0000\u0000\u0763\u0760\u0001"+
53961 "\u0000\u0000\u0000\u0763\u0761\u0001\u0000\u0000\u0000\u0763\u0762\u0001"+
53962 "\u0000\u0000\u0000\u0764\u00e5\u0001\u0000\u0000\u0000\u0765\u0768\u0003"+
53963 "\u00e8t\u0000\u0766\u0768\u0003\u0294\u014a\u0000\u0767\u0765\u0001\u0000"+
53964 "\u0000\u0000\u0767\u0766\u0001\u0000\u0000\u0000\u0768\u00e7\u0001\u0000"+
53965 "\u0000\u0000\u0769\u076a\u00052\u0000\u0000\u076a\u076b\u0005;\u0000\u0000"+
53966 "\u076b\u076c\u0003@ \u0000\u076c\u076d\u0003\u0130\u0098\u0000\u076d\u076e"+
53967 "\u0003\u0132\u0099\u0000\u076e\u00e9\u0001\u0000\u0000\u0000\u076f\u0770"+
53968 "\u00052\u0000\u0000\u0770\u0771\u0003\u01a0\u00d0\u0000\u0771\u0772\u0005"+
53969 ">\u0000\u0000\u0772\u0773\u0003V+\u0000\u0773\u0774\u0005a\u0000\u0000"+
53970 "\u0774\u0775\u0003@ \u0000\u0775\u0776\u0003R)\u0000\u0776\u0777\u0003"+
53971 "\u0246\u0123\u0000\u0777\u00eb\u0001\u0000\u0000\u0000\u0778\u0779\u0005"+
53972 "2\u0000\u0000\u0779\u077a\u0005\u00cc\u0000\u0000\u077a\u077b\u00032\u0019"+
53973 "\u0000\u077b\u077c\u0003\u01e8\u00f4\u0000\u077c\u00ed\u0001\u0000\u0000"+
53974 "\u0000\u077d\u0780\u00052\u0000\u0000\u077e\u077f\u0005i\u0000\u0000\u077f"+
53975 "\u0781\u00053\u0000\u0000\u0780\u077e\u0001\u0000\u0000\u0000\u0780\u0781"+
53976 "\u0001\u0000\u0000\u0000\u0781\u0782\u0001\u0000\u0000\u0000\u0782\u0783"+
53977 "\u0005F\u0000\u0000\u0783\u0784\u00036\u001b\u0000\u0784\u0785\u0003\u0214"+
53978 "\u010a\u0000\u0785\u0786\u0003\u0216\u010b\u0000\u0786\u00ef\u0001\u0000"+
53979 "\u0000\u0000\u0787\u078a\u00052\u0000\u0000\u0788\u0789\u0005i\u0000\u0000"+
53980 "\u0789\u078b\u00053\u0000\u0000\u078a\u0788\u0001\u0000\u0000\u0000\u078a"+
53981 "\u078b\u0001\u0000\u0000\u0000\u078b\u078c\u0001\u0000\u0000\u0000\u078c"+
53982 "\u078d\u0007\u001c\u0000\u0000\u078d\u078e\u00038\u001c\u0000\u078e\u078f"+
53983 "\u0003\u0226\u0113\u0000\u078f\u0790\u0003\u022a\u0115\u0000\u0790\u00f1"+
53984 "\u0001\u0000\u0000\u0000\u0791\u0794\u00052\u0000\u0000\u0792\u0793\u0005"+
53985 "i\u0000\u0000\u0793\u0795\u00053\u0000\u0000\u0794\u0792\u0001\u0000\u0000"+
53986 "\u0000\u0794\u0795\u0001\u0000\u0000\u0000\u0795\u0796\u0001\u0000\u0000"+
53987 "\u0000\u0796\u0797\u0005J\u0000\u0000\u0797\u0798\u0003:\u001d\u0000\u0798"+
53988 "\u0799\u0003\u0234\u011a\u0000\u0799\u00f3\u0001\u0000\u0000\u0000\u079a"+
53989 "\u079d\u00052\u0000\u0000\u079b\u079c\u0005i\u0000\u0000\u079c\u079e\u0005"+
53990 "3\u0000\u0000\u079d\u079b\u0001\u0000\u0000\u0000\u079d\u079e\u0001\u0000"+
53991 "\u0000\u0000\u079e\u079f\u0001\u0000\u0000\u0000\u079f\u07a0\u0005G\u0000"+
53992 "\u0000\u07a0\u07a1\u0003<\u001e\u0000\u07a1\u07a2\u0005a\u0000\u0000\u07a2"+
53993 "\u07a3\u0003\u0242\u0121\u0000\u07a3\u07a4\u0003\u023c\u011e\u0000\u07a4"+
53994 "\u00f5\u0001\u0000\u0000\u0000\u07a5\u07a6\u00052\u0000\u0000\u07a6\u07a7"+
53995 "\u0005\u017b\u0000\u0000\u07a7\u07ab\u0003>\u001f\u0000\u07a8\u07aa\u0003"+
53996 "\u0244\u0122\u0000\u07a9\u07a8\u0001\u0000\u0000\u0000\u07aa\u07ad\u0001"+
53997 "\u0000\u0000\u0000\u07ab\u07a9\u0001\u0000\u0000\u0000\u07ab\u07ac\u0001"+
53998 "\u0000\u0000\u0000\u07ac\u00f7\u0001\u0000\u0000\u0000\u07ad\u07ab\u0001"+
53999 "\u0000\u0000\u0000\u07ae\u07af\u00052\u0000\u0000\u07af\u07b0\u0005\u015a"+
54000 "\u0000\u0000\u07b0\u07b3\u0003F#\u0000\u07b1\u07b2\u0005\u0282\u0000\u0000"+
54001 "\u07b2\u07b4\u0005\u02b7\u0000\u0000\u07b3\u07b1\u0001\u0000\u0000\u0000"+
54002 "\u07b3\u07b4\u0001\u0000\u0000\u0000\u07b4\u07b5\u0001\u0000\u0000\u0000"+
54003 "\u07b5\u07b6\u0005a\u0000\u0000\u07b6\u07b7\u0005\u016e\u0000\u0000\u07b7"+
54004 "\u07b9\u0003B!\u0000\u07b8\u07ba\u0003\u028a\u0145\u0000\u07b9\u07b8\u0001"+
54005 "\u0000\u0000\u0000\u07b9\u07ba\u0001\u0000\u0000\u0000\u07ba\u00f9\u0001"+
54006 "\u0000\u0000\u0000\u07bb\u07bc\u00052\u0000\u0000\u07bc\u07bd\u00056\u0000"+
54007 "\u0000\u07bd\u07c1\u0003\u0290\u0148\u0000\u07be\u07c0\u0003\u0292\u0149"+
54008 "\u0000\u07bf\u07be\u0001\u0000\u0000\u0000\u07c0\u07c3\u0001\u0000\u0000"+
54009 "\u0000\u07c1\u07bf\u0001\u0000\u0000\u0000\u07c1\u07c2\u0001\u0000\u0000"+
54010 "\u0000\u07c2\u00fb\u0001\u0000\u0000\u0000\u07c3\u07c1\u0001\u0000\u0000"+
54011 "\u0000\u07c4\u07c5\u00053\u0000\u0000\u07c5\u07c6\u0005;\u0000\u0000\u07c6"+
54012 "\u07c7\u0003@ \u0000\u07c7\u07cc\u0003\u01a2\u00d1\u0000\u07c8\u07c9\u0005"+
54013 "%\u0000\u0000\u07c9\u07cb\u0003\u01a2\u00d1\u0000\u07ca\u07c8\u0001\u0000"+
54014 "\u0000\u0000\u07cb\u07ce\u0001\u0000\u0000\u0000\u07cc\u07ca\u0001\u0000"+
54015 "\u0000\u0000\u07cc\u07cd\u0001\u0000\u0000\u0000\u07cd\u00fd\u0001\u0000"+
54016 "\u0000\u0000\u07ce\u07cc\u0001\u0000\u0000\u0000\u07cf\u07d0\u00053\u0000"+
54017 "\u0000\u07d0\u07d3\u0005>\u0000\u0000\u07d1\u07d4\u0003V+\u0000\u07d2"+
54018 "\u07d4\u0005r\u0000\u0000\u07d3\u07d1\u0001\u0000\u0000\u0000\u07d3\u07d2"+
54019 "\u0001\u0000\u0000\u0000\u07d4\u07d5\u0001\u0000\u0000\u0000\u07d5\u07d6"+
54020 "\u0005a\u0000\u0000\u07d6\u07d7\u0003@ \u0000\u07d7\u07d8\u0003\u024c"+
54021 "\u0126\u0000\u07d8\u00ff\u0001\u0000\u0000\u0000\u07d9\u07da\u00053\u0000"+
54022 "\u0000\u07da\u07dd\u0005\u00cc\u0000\u0000\u07db\u07de\u00032\u0019\u0000"+
54023 "\u07dc\u07de\u0005\u009b\u0000\u0000\u07dd\u07db\u0001\u0000\u0000\u0000"+
54024 "\u07dd\u07dc\u0001\u0000\u0000\u0000\u07de\u07e2\u0001\u0000\u0000\u0000"+
54025 "\u07df\u07e1\u0003\u0258\u012c\u0000\u07e0\u07df\u0001\u0000\u0000\u0000"+
54026 "\u07e1\u07e4\u0001\u0000\u0000\u0000\u07e2\u07e0\u0001\u0000\u0000\u0000"+
54027 "\u07e2\u07e3\u0001\u0000\u0000\u0000\u07e3\u0101\u0001\u0000\u0000\u0000"+
54028 "\u07e4\u07e2\u0001\u0000\u0000\u0000\u07e5\u07e6\u00053\u0000\u0000\u07e6"+
54029 "\u07e7\u0007\u001c\u0000\u0000\u07e7\u07e8\u00038\u001c\u0000\u07e8\u07e9"+
54030 "\u0003\u0226\u0113\u0000\u07e9\u07ea\u0003\u022a\u0115\u0000\u07ea\u0103"+
54031 "\u0001\u0000\u0000\u0000\u07eb\u07ec\u00053\u0000\u0000\u07ec\u07ed\u0005"+
54032 "F\u0000\u0000\u07ed\u07ee\u00036\u001b\u0000\u07ee\u07ef\u0003\u0214\u010a"+
54033 "\u0000\u07ef\u07f0\u0003\u0216\u010b\u0000\u07f0\u0105\u0001\u0000\u0000"+
54034 "\u0000\u07f1\u07f2\u00053\u0000\u0000\u07f2\u07f3\u0005J\u0000\u0000\u07f3"+
54035 "\u07f4\u0003:\u001d\u0000\u07f4\u07f5\u0003\u0234\u011a\u0000\u07f5\u0107"+
54036 "\u0001\u0000\u0000\u0000\u07f6\u07f7\u00053\u0000\u0000\u07f7\u07f8\u0005"+
54037 "G\u0000\u0000\u07f8\u07f9\u0003<\u001e\u0000\u07f9\u07fa\u0005a\u0000"+
54038 "\u0000\u07fa\u07fb\u0003\u0242\u0121\u0000\u07fb\u07fc\u0003\u023c\u011e"+
54039 "\u0000\u07fc\u0109\u0001\u0000\u0000\u0000\u07fd\u07fe\u00053\u0000\u0000"+
54040 "\u07fe\u07ff\u0005\u017b\u0000\u0000\u07ff\u0803\u0003>\u001f\u0000\u0800"+
54041 "\u0802\u0003\u0244\u0122\u0000\u0801\u0800\u0001\u0000\u0000\u0000\u0802"+
54042 "\u0805\u0001\u0000\u0000\u0000\u0803\u0801\u0001\u0000\u0000\u0000\u0803"+
54043 "\u0804\u0001\u0000\u0000\u0000\u0804\u010b\u0001\u0000\u0000\u0000\u0805"+
54044 "\u0803\u0001\u0000\u0000\u0000\u0806\u0807\u00053\u0000\u0000\u0807\u0808"+
54045 "\u0005\u015a\u0000\u0000\u0808\u080c\u0003F#\u0000\u0809\u080a\u0005a"+
54046 "\u0000\u0000\u080a\u080b\u0005\u016e\u0000\u0000\u080b\u080d\u0003B!\u0000"+
54047 "\u080c\u0809\u0001\u0000\u0000\u0000\u080c\u080d\u0001\u0000\u0000\u0000"+
54048 "\u080d\u080f\u0001\u0000\u0000\u0000\u080e\u0810\u0003\u028c\u0146\u0000"+
54049 "\u080f\u080e\u0001\u0000\u0000\u0000\u080f\u0810\u0001\u0000\u0000\u0000"+
54050 "\u0810\u010d\u0001\u0000\u0000\u0000\u0811\u0812\u00053\u0000\u0000\u0812"+
54051 "\u0813\u00056\u0000\u0000\u0813\u0814\u00034\u001a\u0000\u0814\u0816\u0005"+
54052 "\u0283\u0000\u0000\u0815\u0817\u0003\u0368\u01b4\u0000\u0816\u0815\u0001"+
54053 "\u0000\u0000\u0000\u0816\u0817\u0001\u0000\u0000\u0000\u0817\u0818\u0001"+
54054 "\u0000\u0000\u0000\u0818\u0819\u0003\u00cae\u0000\u0819\u010f\u0001\u0000"+
54055 "\u0000\u0000\u081a\u081b\u00054\u0000\u0000\u081b\u081d\u0005;\u0000\u0000"+
54056 "\u081c\u081e\u0003\u00deo\u0000\u081d\u081c\u0001\u0000\u0000\u0000\u081d"+
54057 "\u081e\u0001\u0000\u0000\u0000\u081e\u081f\u0001\u0000\u0000\u0000\u081f"+
54058 "\u0820\u0003T*\u0000\u0820\u0111\u0001\u0000\u0000\u0000\u0821\u0822\u0005"+
54059 "4\u0000\u0000\u0822\u0824\u0005>\u0000\u0000\u0823\u0825\u0003\u00deo"+
54060 "\u0000\u0824\u0823\u0001\u0000\u0000\u0000\u0824\u0825\u0001\u0000\u0000"+
54061 "\u0000\u0825\u0826\u0001\u0000\u0000\u0000\u0826\u0827\u0003V+\u0000\u0827"+
54062 "\u0828\u0005a\u0000\u0000\u0828\u0829\u0003@ \u0000\u0829\u0113\u0001"+
54063 "\u0000\u0000\u0000\u082a\u082b\u00054\u0000\u0000\u082b\u082d\u0005\u00cc"+
54064 "\u0000\u0000\u082c\u082e\u0003\u00deo\u0000\u082d\u082c\u0001\u0000\u0000"+
54065 "\u0000\u082d\u082e\u0001\u0000\u0000\u0000\u082e\u082f\u0001\u0000\u0000"+
54066 "\u0000\u082f\u0834\u00032\u0019\u0000\u0830\u0831\u0005%\u0000\u0000\u0831"+
54067 "\u0833\u00032\u0019\u0000\u0832\u0830\u0001\u0000\u0000\u0000\u0833\u0836"+
54068 "\u0001\u0000\u0000\u0000\u0834\u0832\u0001\u0000\u0000\u0000\u0834\u0835"+
54069 "\u0001\u0000\u0000\u0000\u0835\u0115\u0001\u0000\u0000\u0000\u0836\u0834"+
54070 "\u0001\u0000\u0000\u0000\u0837\u0838\u00054\u0000\u0000\u0838\u083a\u0005"+
54071 "F\u0000\u0000\u0839\u083b\u0003\u00deo\u0000\u083a\u0839\u0001\u0000\u0000"+
54072 "\u0000\u083a\u083b\u0001\u0000\u0000\u0000\u083b\u083c\u0001\u0000\u0000"+
54073 "\u0000\u083c\u0841\u00036\u001b\u0000\u083d\u083e\u0005%\u0000\u0000\u083e"+
54074 "\u0840\u00036\u001b\u0000\u083f\u083d\u0001\u0000\u0000\u0000\u0840\u0843"+
54075 "\u0001\u0000\u0000\u0000\u0841\u083f\u0001\u0000\u0000\u0000\u0841\u0842"+
54076 "\u0001\u0000\u0000\u0000\u0842\u0117\u0001\u0000\u0000\u0000\u0843\u0841"+
54077 "\u0001\u0000\u0000\u0000\u0844\u0845\u00054\u0000\u0000\u0845\u0847\u0007"+
54078 "\u001c\u0000\u0000\u0846\u0848\u0003\u00deo\u0000\u0847\u0846\u0001\u0000"+
54079 "\u0000\u0000\u0847\u0848\u0001\u0000\u0000\u0000\u0848\u0849\u0001\u0000"+
54080 "\u0000\u0000\u0849\u084e\u00038\u001c\u0000\u084a\u084b\u0005%\u0000\u0000"+
54081 "\u084b\u084d\u00038\u001c\u0000\u084c\u084a\u0001\u0000\u0000\u0000\u084d"+
54082 "\u0850\u0001\u0000\u0000\u0000\u084e\u084c\u0001\u0000\u0000\u0000\u084e"+
54083 "\u084f\u0001\u0000\u0000\u0000\u084f\u0119\u0001\u0000\u0000\u0000\u0850"+
54084 "\u084e\u0001\u0000\u0000\u0000\u0851\u0852\u00054\u0000\u0000\u0852\u0854"+
54085 "\u0005J\u0000\u0000\u0853\u0855\u0003\u00deo\u0000\u0854\u0853\u0001\u0000"+
54086 "\u0000\u0000\u0854\u0855\u0001\u0000\u0000\u0000\u0855\u0856\u0001\u0000"+
54087 "\u0000\u0000\u0856\u085b\u0003:\u001d\u0000\u0857\u0858\u0005%\u0000\u0000"+
54088 "\u0858\u085a\u0003:\u001d\u0000\u0859\u0857\u0001\u0000\u0000\u0000\u085a"+
54089 "\u085d\u0001\u0000\u0000\u0000\u085b\u0859\u0001\u0000\u0000\u0000\u085b"+
54090 "\u085c\u0001\u0000\u0000\u0000\u085c\u011b\u0001\u0000\u0000\u0000\u085d"+
54091 "\u085b\u0001\u0000\u0000\u0000\u085e\u085f\u00054\u0000\u0000\u085f\u0861"+
54092 "\u0005G\u0000\u0000\u0860\u0862\u0003\u00deo\u0000\u0861\u0860\u0001\u0000"+
54093 "\u0000\u0000\u0861\u0862\u0001\u0000\u0000\u0000\u0862\u0863\u0001\u0000"+
54094 "\u0000\u0000\u0863\u0868\u0003<\u001e\u0000\u0864\u0865\u0005%\u0000\u0000"+
54095 "\u0865\u0867\u0003<\u001e\u0000\u0866\u0864\u0001\u0000\u0000\u0000\u0867"+
54096 "\u086a\u0001\u0000\u0000\u0000\u0868\u0866\u0001\u0000\u0000\u0000\u0868"+
54097 "\u0869\u0001\u0000\u0000\u0000\u0869\u0871\u0001\u0000\u0000\u0000\u086a"+
54098 "\u0868\u0001\u0000\u0000\u0000\u086b\u086f\u0005a\u0000\u0000\u086c\u0870"+
54099 "\u0005\u00cc\u0000\u0000\u086d\u086e\u0005r\u0000\u0000\u086e\u0870\u0005"+
54100 "\u013c\u0000\u0000\u086f\u086c\u0001\u0000\u0000\u0000\u086f\u086d\u0001"+
54101 "\u0000\u0000\u0000\u0870\u0872\u0001\u0000\u0000\u0000\u0871\u086b\u0001"+
54102 "\u0000\u0000\u0000\u0871\u0872\u0001\u0000\u0000\u0000\u0872\u011d\u0001"+
54103 "\u0000\u0000\u0000\u0873\u0874\u00054\u0000\u0000\u0874\u0876\u0005\u017b"+
54104 "\u0000\u0000\u0875\u0877\u0003\u00deo\u0000\u0876\u0875\u0001\u0000\u0000"+
54105 "\u0000\u0876\u0877\u0001\u0000\u0000\u0000\u0877\u0878\u0001\u0000\u0000"+
54106 "\u0000\u0878\u087d\u0003>\u001f\u0000\u0879\u087a\u0005%\u0000\u0000\u087a"+
54107 "\u087c\u0003>\u001f\u0000\u087b\u0879\u0001\u0000\u0000\u0000\u087c\u087f"+
54108 "\u0001\u0000\u0000\u0000\u087d\u087b\u0001\u0000\u0000\u0000\u087d\u087e"+
54109 "\u0001\u0000\u0000\u0000\u087e\u011f\u0001\u0000\u0000\u0000\u087f\u087d"+
54110 "\u0001\u0000\u0000\u0000\u0880\u0881\u00054\u0000\u0000\u0881\u0882\u0005"+
54111 "\u015a\u0000\u0000\u0882\u0883\u0003F#\u0000\u0883\u0121\u0001\u0000\u0000"+
54112 "\u0000\u0884\u0885\u00054\u0000\u0000\u0885\u0887\u00056\u0000\u0000\u0886"+
54113 "\u0888\u0003\u00deo\u0000\u0887\u0886\u0001\u0000\u0000\u0000\u0887\u0888"+
54114 "\u0001\u0000\u0000\u0000\u0888\u0889\u0001\u0000\u0000\u0000\u0889\u088a"+
54115 "\u00034\u001a\u0000\u088a\u0123\u0001\u0000\u0000\u0000\u088b\u088c\u0005"+
54116 "5\u0000\u0000\u088c\u088d\u0005;\u0000\u0000\u088d\u088e\u0003@ \u0000"+
54117 "\u088e\u0125\u0001\u0000\u0000\u0000\u088f\u0890\u00050\u0000\u0000\u0890"+
54118 "\u0891\u0005\u02ae\u0000\u0000\u0891\u08a0\u0003@ \u0000\u0892\u0894\u0005"+
54119 "\u001f\u0000\u0000\u0893\u0892\u0001\u0000\u0000\u0000\u0893\u0894\u0001"+
54120 "\u0000\u0000\u0000\u0894\u0895\u0001\u0000\u0000\u0000\u0895\u089a\u0003"+
54121 "V+\u0000\u0896\u0897\u0005%\u0000\u0000\u0897\u0899\u0003V+\u0000\u0898"+
54122 "\u0896\u0001\u0000\u0000\u0000\u0899\u089c\u0001\u0000\u0000\u0000\u089a"+
54123 "\u0898\u0001\u0000\u0000\u0000\u089a\u089b\u0001\u0000\u0000\u0000\u089b"+
54124 "\u089e\u0001\u0000\u0000\u0000\u089c\u089a\u0001\u0000\u0000\u0000\u089d"+
54125 "\u089f\u0005 \u0000\u0000\u089e\u089d\u0001\u0000\u0000\u0000\u089e\u089f"+
54126 "\u0001\u0000\u0000\u0000\u089f\u08a1\u0001\u0000\u0000\u0000\u08a0\u0893"+
54127 "\u0001\u0000\u0000\u0000\u08a0\u08a1\u0001\u0000\u0000\u0000\u08a1\u08a3"+
54128 "\u0001\u0000\u0000\u0000\u08a2\u08a4\u0003\u0128\u0094\u0000\u08a3\u08a2"+
54129 "\u0001\u0000\u0000\u0000\u08a3\u08a4\u0001\u0000\u0000\u0000\u08a4\u0127"+
54130 "\u0001\u0000\u0000\u0000\u08a5\u08a7\u0005M\u0000\u0000\u08a6\u08a8\u0003"+
54131 "\u012a\u0095\u0000\u08a7\u08a6\u0001\u0000\u0000\u0000\u08a7\u08a8\u0001"+
54132 "\u0000\u0000\u0000\u08a8\u08aa\u0001\u0000\u0000\u0000\u08a9\u08ab\u0003"+
54133 "\u012c\u0096\u0000\u08aa\u08a9\u0001\u0000\u0000\u0000\u08aa\u08ab\u0001"+
54134 "\u0000\u0000\u0000\u08ab\u0129\u0001\u0000\u0000\u0000\u08ac\u08b1\u0005"+
54135 "\u02af\u0000\u0000\u08ad\u08ae\u0005\u02b0\u0000\u0000\u08ae\u08af\u0005"+
54136 "\u02b8\u0000\u0000\u08af\u08b1\u0007\u001d\u0000\u0000\u08b0\u08ac\u0001"+
54137 "\u0000\u0000\u0000\u08b0\u08ad\u0001\u0000\u0000\u0000\u08b1\u08b5\u0001"+
54138 "\u0000\u0000\u0000\u08b2\u08b3\u0005\u02b4\u0000\u0000\u08b3\u08b4\u0005"+
54139 "\u0018\u0000\u0000\u08b4\u08b6\u0007\u0000\u0000\u0000\u08b5\u08b2\u0001"+
54140 "\u0000\u0000\u0000\u08b5\u08b6\u0001\u0000\u0000\u0000\u08b6\u08c7\u0001"+
54141 "\u0000\u0000\u0000\u08b7\u08c4\u0005\u02b1\u0000\u0000\u08b8\u08b9\u0005"+
54142 "a\u0000\u0000\u08b9\u08ba\u0005\u00de\u0000\u0000\u08ba\u08bb\u0005\u001f"+
54143 "\u0000\u0000\u08bb\u08c0\u0005\u02b8\u0000\u0000\u08bc\u08bd\u0005%\u0000"+
54144 "\u0000\u08bd\u08bf\u0005\u02b8\u0000\u0000\u08be\u08bc\u0001\u0000\u0000"+
54145 "\u0000\u08bf\u08c2\u0001\u0000\u0000\u0000\u08c0\u08be\u0001\u0000\u0000"+
54146 "\u0000\u08c0\u08c1\u0001\u0000\u0000\u0000\u08c1\u08c3\u0001\u0000\u0000"+
54147 "\u0000\u08c2\u08c0\u0001\u0000\u0000\u0000\u08c3\u08c5\u0005 \u0000\u0000"+
54148 "\u08c4\u08b8\u0001\u0000\u0000\u0000\u08c4\u08c5\u0001\u0000\u0000\u0000"+
54149 "\u08c5\u08c7\u0001\u0000\u0000\u0000\u08c6\u08b0\u0001\u0000\u0000\u0000"+
54150 "\u08c6\u08b7\u0001\u0000\u0000\u0000\u08c7\u012b\u0001\u0000\u0000\u0000"+
54151 "\u08c8\u08ca\u0005%\u0000\u0000\u08c9\u08c8\u0001\u0000\u0000\u0000\u08c9"+
54152 "\u08ca\u0001\u0000\u0000\u0000\u08ca\u08cb\u0001\u0000\u0000\u0000\u08cb"+
54153 "\u08cd\u0003\u012e\u0097\u0000\u08cc\u08c9\u0001\u0000\u0000\u0000\u08cd"+
54154 "\u08ce\u0001\u0000\u0000\u0000\u08ce\u08cc\u0001\u0000\u0000\u0000\u08ce"+
54155 "\u08cf\u0001\u0000\u0000\u0000\u08cf\u012d\u0001\u0000\u0000\u0000\u08d0"+
54156 "\u08de\u0005r\u0000\u0000\u08d1\u08de\u0005=\u0000\u0000\u08d2\u08de\u0005"+
54157 ">\u0000\u0000\u08d3\u08de\u0005\u02b2\u0000\u0000\u08d4\u08d5\u0005\u025d"+
54158 "\u0000\u0000\u08d5\u08d6\u0005\u0018\u0000\u0000\u08d6\u08de\u0007\u0000"+
54159 "\u0000\u0000\u08d7\u08d8\u0005\u0113\u0000\u0000\u08d8\u08d9\u0005\u0018"+
54160 "\u0000\u0000\u08d9\u08de\u0005\u02b8\u0000\u0000\u08da\u08db\u0005\u02b3"+
54161 "\u0000\u0000\u08db\u08dc\u0005\u0018\u0000\u0000\u08dc\u08de\u0007\u0000"+
54162 "\u0000\u0000\u08dd\u08d0\u0001\u0000\u0000\u0000\u08dd\u08d1\u0001\u0000"+
54163 "\u0000\u0000\u08dd\u08d2\u0001\u0000\u0000\u0000\u08dd\u08d3\u0001\u0000"+
54164 "\u0000\u0000\u08dd\u08d4\u0001\u0000\u0000\u0000\u08dd\u08d7\u0001\u0000"+
54165 "\u0000\u0000\u08dd\u08da\u0001\u0000\u0000\u0000\u08de\u012f\u0001\u0000"+
54166 "\u0000\u0000\u08df\u08e0\u0005`\u0000\u0000\u08e0\u08e2\u0005\u0107\u0000"+
54167 "\u0000\u08e1\u08df\u0001\u0000\u0000\u0000\u08e1\u08e2\u0001\u0000\u0000"+
54168 "\u0000\u08e2\u0131\u0001\u0000\u0000\u0000\u08e3\u08e4\u0003\u0134\u009a"+
54169 "\u0000\u08e4\u08e5\u0003\u0188\u00c4\u0000\u08e5\u08e6\u0003\u018a\u00c5"+
54170 "\u0000\u08e6\u0133\u0001\u0000\u0000\u0000\u08e7\u08e8\u0005\u001f\u0000"+
54171 "\u0000\u08e8\u08ed\u0003\u0136\u009b\u0000\u08e9\u08ea\u0005%\u0000\u0000"+
54172 "\u08ea\u08ec\u0003\u0136\u009b\u0000\u08eb\u08e9\u0001\u0000\u0000\u0000"+
54173 "\u08ec\u08ef\u0001\u0000\u0000\u0000\u08ed\u08eb\u0001\u0000\u0000\u0000"+
54174 "\u08ed\u08ee\u0001\u0000\u0000\u0000\u08ee\u08f2\u0001\u0000\u0000\u0000"+
54175 "\u08ef\u08ed\u0001\u0000\u0000\u0000\u08f0\u08f1\u0005%\u0000\u0000\u08f1"+
54176 "\u08f3\u0003\u0186\u00c3\u0000\u08f2\u08f0\u0001\u0000\u0000\u0000\u08f2"+
54177 "\u08f3\u0001\u0000\u0000\u0000\u08f3\u08f4\u0001\u0000\u0000\u0000\u08f4"+
54178 "\u08f5\u0005 \u0000\u0000\u08f5\u0135\u0001\u0000\u0000\u0000\u08f6\u08fc"+
54179 "\u0003\u0138\u009c\u0000\u08f7\u08fc\u0003\u016e\u00b7\u0000\u08f8\u08fc"+
54180 "\u0003\u0170\u00b8\u0000\u08f9\u08fc\u0003\u0172\u00b9\u0000\u08fa\u08fc"+
54181 "\u0003\u0180\u00c0\u0000\u08fb\u08f6\u0001\u0000\u0000\u0000\u08fb\u08f7"+
54182 "\u0001\u0000\u0000\u0000\u08fb\u08f8\u0001\u0000\u0000\u0000\u08fb\u08f9"+
54183 "\u0001\u0000\u0000\u0000\u08fb\u08fa\u0001\u0000\u0000\u0000\u08fc\u0137"+
54184 "\u0001\u0000\u0000\u0000\u08fd\u08fe\u0003H$\u0000\u08fe\u0902\u0003\u0094"+
54185 "J\u0000\u08ff\u0901\u0003\u013a\u009d\u0000\u0900\u08ff\u0001\u0000\u0000"+
54186 "\u0000\u0901\u0904\u0001\u0000\u0000\u0000\u0902\u0900\u0001\u0000\u0000"+
54187 "\u0000\u0902\u0903\u0001\u0000\u0000\u0000\u0903\u0905\u0001\u0000\u0000"+
54188 "\u0000\u0904\u0902\u0001\u0000\u0000\u0000\u0905\u0907\u0003\u016c\u00b6"+
54189 "\u0000\u0906\u0908\u0003\u0162\u00b1\u0000\u0907\u0906\u0001\u0000\u0000"+
54190 "\u0000\u0907\u0908\u0001\u0000\u0000\u0000\u0908\u0139\u0001\u0000\u0000"+
54191 "\u0000\u0909\u093f\u0005\u0106\u0000\u0000\u090a\u090b\u0005\u00f6\u0000"+
54192 "\u0000\u090b\u093f\u0003Z-\u0000\u090c\u093f\u0005\u0128\u0000\u0000\u090d"+
54193 "\u090e\u0005\u0112\u0000\u0000\u090e\u090f\u0005M\u0000\u0000\u090f\u0910"+
54194 "\u0005\u001f\u0000\u0000\u0910\u0911\u0005F\u0000\u0000\u0911\u0912\u0005"+
54195 "\u0018\u0000\u0000\u0912\u0913\u0005\u02b7\u0000\u0000\u0913\u093f\u0005"+
54196 " \u0000\u0000\u0914\u0915\u0005?\u0000\u0000\u0915\u0917\u0003\u00cae"+
54197 "\u0000\u0916\u0914\u0001\u0000\u0000\u0000\u0916\u0917\u0001\u0000\u0000"+
54198 "\u0000\u0917\u0918\u0001\u0000\u0000\u0000\u0918\u0919\u0005\u009a\u0000"+
54199 "\u0000\u0919\u093f\u0003b1\u0000\u091a\u0920\u0005\u010c\u0000\u0000\u091b"+
54200 "\u091c\u0005\u001f\u0000\u0000\u091c\u091d\u0005\u02b8\u0000\u0000\u091d"+
54201 "\u091e\u0005%\u0000\u0000\u091e\u091f\u0005\u02b8\u0000\u0000\u091f\u0921"+
54202 "\u0005 \u0000\u0000\u0920\u091b\u0001\u0000\u0000\u0000\u0920\u0921\u0001"+
54203 "\u0000\u0000\u0000\u0921\u093f\u0001\u0000\u0000\u0000\u0922\u0923\u0005"+
54204 "k\u0000\u0000\u0923\u0924\u0005f\u0000\u0000\u0924\u093f\u0005\u0123\u0000"+
54205 "\u0000\u0925\u0926\u0005\u00e7\u0000\u0000\u0926\u0927\u0005\u00e4\u0000"+
54206 "\u0000\u0927\u0928\u0005`\u0000\u0000\u0928\u0929\u0005\u00e0\u0000\u0000"+
54207 "\u0929\u092b\u0007\u001e\u0000\u0000\u092a\u092c\u0005\u00db\u0000\u0000"+
54208 "\u092b\u092a\u0001\u0000\u0000\u0000\u092b\u092c\u0001\u0000\u0000\u0000"+
54209 "\u092c\u093f\u0001\u0000\u0000\u0000\u092d\u092f\u0005k\u0000\u0000\u092e"+
54210 "\u092d\u0001\u0000\u0000\u0000\u092e\u092f\u0001\u0000\u0000\u0000\u092f"+
54211 "\u0930\u0001\u0000\u0000\u0000\u0930\u093f\u0005l\u0000\u0000\u0931\u093f"+
54212 "\u0005\u0125\u0000\u0000\u0932\u0933\u0005\u0104\u0000\u0000\u0933\u0934"+
54213 "\u0005M\u0000\u0000\u0934\u093f\u0003\u013c\u009e\u0000\u0935\u093a\u0003"+
54214 "\u013e\u009f\u0000\u0936\u0937\u0005%\u0000\u0000\u0937\u0939\u0003\u013e"+
54215 "\u009f\u0000\u0938\u0936\u0001\u0000\u0000\u0000\u0939\u093c\u0001\u0000"+
54216 "\u0000\u0000\u093a\u0938\u0001\u0000\u0000\u0000\u093a\u093b\u0001\u0000"+
54217 "\u0000\u0000\u093b\u093f\u0001\u0000\u0000\u0000\u093c\u093a\u0001\u0000"+
54218 "\u0000\u0000\u093d\u093f\u0003\u0162\u00b1\u0000\u093e\u0909\u0001\u0000"+
54219 "\u0000\u0000\u093e\u090a\u0001\u0000\u0000\u0000\u093e\u090c\u0001\u0000"+
54220 "\u0000\u0000\u093e\u090d\u0001\u0000\u0000\u0000\u093e\u0916\u0001\u0000"+
54221 "\u0000\u0000\u093e\u091a\u0001\u0000\u0000\u0000\u093e\u0922\u0001\u0000"+
54222 "\u0000\u0000\u093e\u0925\u0001\u0000\u0000\u0000\u093e\u092e\u0001\u0000"+
54223 "\u0000\u0000\u093e\u0931\u0001\u0000\u0000\u0000\u093e\u0932\u0001\u0000"+
54224 "\u0000\u0000\u093e\u0935\u0001\u0000\u0000\u0000\u093e\u093d\u0001\u0000"+
54225 "\u0000\u0000\u093f\u013b\u0001\u0000\u0000\u0000\u0940\u0941\u0005\u001f"+
54226 "\u0000\u0000\u0941\u0942\u0005\u0182\u0000\u0000\u0942\u0943\u0005\u0018"+
54227 "\u0000\u0000\u0943\u0944\u0003\u00cae\u0000\u0944\u0945\u0005%\u0000\u0000"+
54228 "\u0945\u0946\u0005\u0188\u0000\u0000\u0946\u0947\u0005\u0018\u0000\u0000"+
54229 "\u0947\u0948\u0007\u001f\u0000\u0000\u0948\u0949\u0005%\u0000\u0000\u0949"+
54230 "\u094a\u0005\u00f1\u0000\u0000\u094a\u094b\u0005\u0018\u0000\u0000\u094b"+
54231 "\u094c\u0005\u02b7\u0000\u0000\u094c\u094d\u0005 \u0000\u0000\u094d\u013d"+
54232 "\u0001\u0000\u0000\u0000\u094e\u094f\u0005?\u0000\u0000\u094f\u0951\u0003"+
54233 "X,\u0000\u0950\u094e\u0001\u0000\u0000\u0000\u0950\u0951\u0001\u0000\u0000"+
54234 "\u0000\u0951\u0955\u0001\u0000\u0000\u0000\u0952\u0956\u0003\u0146\u00a3"+
54235 "\u0000\u0953\u0956\u0003\u015a\u00ad\u0000\u0954\u0956\u0003\u0160\u00b0"+
54236 "\u0000\u0955\u0952\u0001\u0000\u0000\u0000\u0955\u0953\u0001\u0000\u0000"+
54237 "\u0000\u0955\u0954\u0001\u0000\u0000\u0000\u0956\u013f\u0001\u0000\u0000"+
54238 "\u0000\u0957\u0958\u0005?\u0000\u0000\u0958\u095a\u0003X,\u0000\u0959"+
54239 "\u0957\u0001\u0000\u0000\u0000\u0959\u095a\u0001\u0000\u0000\u0000\u095a"+
54240 "\u095e\u0001\u0000\u0000\u0000\u095b\u095f\u0003\u0146\u00a3\u0000\u095c"+
54241 "\u095f\u0003\u0142\u00a1\u0000\u095d\u095f\u0003\u0160\u00b0\u0000\u095e"+
54242 "\u095b\u0001\u0000\u0000\u0000\u095e\u095c\u0001\u0000\u0000\u0000\u095e"+
54243 "\u095d\u0001\u0000\u0000\u0000\u095f\u0141\u0001\u0000\u0000\u0000\u0960"+
54244 "\u0961\u0005B\u0000\u0000\u0961\u0963\u0005C\u0000\u0000\u0962\u0960\u0001"+
54245 "\u0000\u0000\u0000\u0962\u0963\u0001\u0000\u0000\u0000\u0963\u0964\u0001"+
54246 "\u0000\u0000\u0000\u0964\u0969\u0003@ \u0000\u0965\u0966\u0005\u001f\u0000"+
54247 "\u0000\u0966\u0967\u0003H$\u0000\u0967\u0968\u0005 \u0000\u0000\u0968"+
54248 "\u096a\u0001\u0000\u0000\u0000\u0969\u0965\u0001\u0000\u0000\u0000\u0969"+
54249 "\u096a\u0001\u0000\u0000\u0000\u096a\u096e\u0001\u0000\u0000\u0000\u096b"+
54250 "\u096d\u0003\u0144\u00a2\u0000\u096c\u096b\u0001\u0000\u0000\u0000\u096d"+
54251 "\u0970\u0001\u0000\u0000\u0000\u096e\u096c\u0001\u0000\u0000\u0000\u096e"+
54252 "\u096f\u0001\u0000\u0000\u0000\u096f\u0143\u0001\u0000\u0000\u0000\u0970"+
54253 "\u096e\u0001\u0000\u0000\u0000\u0971\u0972\u0005a\u0000\u0000\u0972\u0976"+
54254 "\u00051\u0000\u0000\u0973\u0974\u0005\u00e8\u0000\u0000\u0974\u0977\u0005"+
54255 "\u00f0\u0000\u0000\u0975\u0977\u0005\u00e5\u0000\u0000\u0976\u0973\u0001"+
54256 "\u0000\u0000\u0000\u0976\u0975\u0001\u0000\u0000\u0000\u0977\u0980\u0001"+
54257 "\u0000\u0000\u0000\u0978\u0979\u0005a\u0000\u0000\u0979\u097a\u00050\u0000"+
54258 "\u0000\u097a\u097b\u0005\u00e8\u0000\u0000\u097b\u0980\u0005\u00f0\u0000"+
54259 "\u0000\u097c\u097d\u0005k\u0000\u0000\u097d\u097e\u0005f\u0000\u0000\u097e"+
54260 "\u0980\u0005\u0123\u0000\u0000\u097f\u0971\u0001\u0000\u0000\u0000\u097f"+
54261 "\u0978\u0001\u0000\u0000\u0000\u097f\u097c\u0001\u0000\u0000\u0000\u0980"+
54262 "\u0145\u0001\u0000\u0000\u0000\u0981\u0984\u0003`0\u0000\u0982\u0984\u0005"+
54263 "A\u0000\u0000\u0983\u0981\u0001\u0000\u0000\u0000\u0983\u0982\u0001\u0000"+
54264 "\u0000\u0000\u0984\u0987\u0001\u0000\u0000\u0000\u0985\u0988\u0003\u0148"+
54265 "\u00a4\u0000\u0986\u0988\u0003\u0156\u00ab\u0000\u0987\u0985\u0001\u0000"+
54266 "\u0000\u0000\u0987\u0986\u0001\u0000\u0000\u0000\u0988\u0147\u0001\u0000"+
54267 "\u0000\u0000\u0989\u098b\u0003\u014a\u00a5\u0000\u098a\u0989\u0001\u0000"+
54268 "\u0000\u0000\u098a\u098b\u0001\u0000\u0000\u0000\u098b\u098d\u0001\u0000"+
54269 "\u0000\u0000\u098c\u098e\u0003\u014c\u00a6\u0000\u098d\u098c\u0001\u0000"+
54270 "\u0000\u0000\u098d\u098e\u0001\u0000\u0000\u0000\u098e\u0990\u0001\u0000"+
54271 "\u0000\u0000\u098f\u0991\u0003\u014e\u00a7\u0000\u0990\u098f\u0001\u0000"+
54272 "\u0000\u0000\u0990\u0991\u0001\u0000\u0000\u0000\u0991\u0149\u0001\u0000"+
54273 "\u0000\u0000\u0992\u0993\u0007 \u0000\u0000\u0993\u014b\u0001\u0000\u0000"+
54274 "\u0000\u0994\u09a3\u0005M\u0000\u0000\u0995\u0996\u0005\u0108\u0000\u0000"+
54275 "\u0996\u0997\u0005\u0018\u0000\u0000\u0997\u09a4\u0005\u02b8\u0000\u0000"+
54276 "\u0998\u0999\u0005\u001f\u0000\u0000\u0999\u099e\u0003\u00b2Y\u0000\u099a"+
54277 "\u099b\u0005%\u0000\u0000\u099b\u099d\u0003\u00b2Y\u0000\u099c\u099a\u0001"+
54278 "\u0000\u0000\u0000\u099d\u09a0\u0001\u0000\u0000\u0000\u099e\u099c\u0001"+
54279 "\u0000\u0000\u0000\u099e\u099f\u0001\u0000\u0000\u0000\u099f\u09a1\u0001"+
54280 "\u0000\u0000\u0000\u09a0\u099e\u0001\u0000\u0000\u0000\u09a1\u09a2\u0005"+
54281 " \u0000\u0000\u09a2\u09a4\u0001\u0000\u0000\u0000\u09a3\u0995\u0001\u0000"+
54282 "\u0000\u0000\u09a3\u0998\u0001\u0000\u0000\u0000\u09a4\u014d\u0001\u0000"+
54283 "\u0000\u0000\u09a5\u09a9\u0003\u0150\u00a8\u0000\u09a6\u09a9\u0003\u0152"+
54284 "\u00a9\u0000\u09a7\u09a9\u0003\u0154\u00aa\u0000\u09a8\u09a5\u0001\u0000"+
54285 "\u0000\u0000\u09a8\u09a6\u0001\u0000\u0000\u0000\u09a8\u09a7\u0001\u0000"+
54286 "\u0000\u0000\u09a9\u014f\u0001\u0000\u0000\u0000\u09aa\u09ab\u0005a\u0000"+
54287 "\u0000\u09ab\u09ac\u00034\u001a\u0000\u09ac\u09ad\u0005\u001f\u0000\u0000"+
54288 "\u09ad\u09ae\u0003H$\u0000\u09ae\u09af\u0005 \u0000\u0000\u09af\u0151"+
54289 "\u0001\u0000\u0000\u0000\u09b0\u09b1\u0005a\u0000\u0000\u09b1\u09b2\u0003"+
54290 "\u00cae\u0000\u09b2\u0153\u0001\u0000\u0000\u0000\u09b3\u09b4\u0005a\u0000"+
54291 "\u0000\u09b4\u09b5\u0005\u02b7\u0000\u0000\u09b5\u0155\u0001\u0000\u0000"+
54292 "\u0000\u09b6\u09bd\u0005\u00f5\u0000\u0000\u09b7\u09b8\u0005\u00f5\u0000"+
54293 "\u0000\u09b8\u09ba\u0005\u010a\u0000\u0000\u09b9\u09bb\u0003\u0158\u00ac"+
54294 "\u0000\u09ba\u09b9\u0001\u0000\u0000\u0000\u09ba\u09bb\u0001\u0000\u0000"+
54295 "\u0000\u09bb\u09bd\u0001\u0000\u0000\u0000\u09bc\u09b6\u0001\u0000\u0000"+
54296 "\u0000\u09bc\u09b7\u0001\u0000\u0000\u0000\u09bd\u0157\u0001\u0000\u0000"+
54297 "\u0000\u09be\u09bf\u0005M\u0000\u0000\u09bf\u09c0\u0005\u001f\u0000\u0000"+
54298 "\u09c0\u09c1\u0005\u0180\u0000\u0000\u09c1\u09c2\u0005\u0018\u0000\u0000"+
54299 "\u09c2\u09c3\u0005\u02b8\u0000\u0000\u09c3\u09c4\u0005 \u0000\u0000\u09c4"+
54300 "\u0159\u0001\u0000\u0000\u0000\u09c5\u09c6\u0005B\u0000\u0000\u09c6\u09c8"+
54301 "\u0005C\u0000\u0000\u09c7\u09c5\u0001\u0000\u0000\u0000\u09c7\u09c8\u0001"+
54302 "\u0000\u0000\u0000\u09c8\u09c9\u0001\u0000\u0000\u0000\u09c9\u09ca\u0005"+
54303 "\u00eb\u0000\u0000\u09ca\u09cf\u0003@ \u0000\u09cb\u09cc\u0005\u001f\u0000"+
54304 "\u0000\u09cc\u09cd\u0003H$\u0000\u09cd\u09ce\u0005 \u0000\u0000\u09ce"+
54305 "\u09d0\u0001\u0000\u0000\u0000\u09cf\u09cb\u0001\u0000\u0000\u0000\u09cf"+
54306 "\u09d0\u0001\u0000\u0000\u0000\u09d0\u09d4\u0001\u0000\u0000\u0000\u09d1"+
54307 "\u09d3\u0003\u015c\u00ae\u0000\u09d2\u09d1\u0001\u0000\u0000\u0000\u09d3"+
54308 "\u09d6\u0001\u0000\u0000\u0000\u09d4\u09d2\u0001\u0000\u0000\u0000\u09d4"+
54309 "\u09d5\u0001\u0000\u0000\u0000\u09d5\u015b\u0001\u0000\u0000\u0000\u09d6"+
54310 "\u09d4\u0001\u0000\u0000\u0000\u09d7\u09d8\u0005a\u0000\u0000\u09d8\u09d9"+
54311 "\u0007!\u0000\u0000\u09d9\u09de\u0003\u015e\u00af\u0000\u09da\u09db\u0005"+
54312 "k\u0000\u0000\u09db\u09dc\u0005f\u0000\u0000\u09dc\u09de\u0005\u0123\u0000"+
54313 "\u0000\u09dd\u09d7\u0001\u0000\u0000\u0000\u09dd\u09da\u0001\u0000\u0000"+
54314 "\u0000\u09de\u015d\u0001\u0000\u0000\u0000\u09df\u09e0\u0005\u00e8\u0000"+
54315 "\u0000\u09e0\u09e5\u0005\u00f0\u0000\u0000\u09e1\u09e5\u0005\u00e5\u0000"+
54316 "\u0000\u09e2\u09e3\u0005:\u0000\u0000\u09e3\u09e5\u0007\"\u0000\u0000"+
54317 "\u09e4\u09df\u0001\u0000\u0000\u0000\u09e4\u09e1\u0001\u0000\u0000\u0000"+
54318 "\u09e4\u09e2\u0001\u0000\u0000\u0000\u09e5\u015f\u0001\u0000\u0000\u0000"+
54319 "\u09e6\u09ea\u0005\u00e6\u0000\u0000\u09e7\u09e8\u0005k\u0000\u0000\u09e8"+
54320 "\u09e9\u0005f\u0000\u0000\u09e9\u09eb\u0005\u0123\u0000\u0000\u09ea\u09e7"+
54321 "\u0001\u0000\u0000\u0000\u09ea\u09eb\u0001\u0000\u0000\u0000\u09eb\u09ec"+
54322 "\u0001\u0000\u0000\u0000\u09ec\u09ed\u0005\u001f\u0000\u0000\u09ed\u09ee"+
54323 "\u0003b1\u0000\u09ee\u09ef\u0005 \u0000\u0000\u09ef\u0161\u0001\u0000"+
54324 "\u0000\u0000\u09f0\u09f1\u0005>\u0000\u0000\u09f1\u09f3\u0003V+\u0000"+
54325 "\u09f2\u09f4\u0003\u014a\u00a5\u0000\u09f3\u09f2\u0001\u0000\u0000\u0000"+
54326 "\u09f3\u09f4\u0001\u0000\u0000\u0000\u09f4\u09f6\u0001\u0000\u0000\u0000"+
54327 "\u09f5\u09f7\u0003\u0164\u00b2\u0000\u09f6\u09f5\u0001\u0000\u0000\u0000"+
54328 "\u09f6\u09f7\u0001\u0000\u0000\u0000\u09f7\u09f9\u0001\u0000\u0000\u0000"+
54329 "\u09f8\u09fa\u0003\u0166\u00b3\u0000\u09f9\u09f8\u0001\u0000\u0000\u0000"+
54330 "\u09f9\u09fa\u0001\u0000\u0000\u0000\u09fa\u09fc\u0001\u0000\u0000\u0000"+
54331 "\u09fb\u09fd\u0003\u016a\u00b5\u0000\u09fc\u09fb\u0001\u0000\u0000\u0000"+
54332 "\u09fc\u09fd\u0001\u0000\u0000\u0000\u09fd\u0163\u0001\u0000\u0000\u0000"+
54333 "\u09fe\u09ff\u0005M\u0000\u0000\u09ff\u0a00\u0005\u001f\u0000\u0000\u0a00"+
54334 "\u0a05\u0003\u00b2Y\u0000\u0a01\u0a02\u0005%\u0000\u0000\u0a02\u0a04\u0003"+
54335 "\u00b2Y\u0000\u0a03\u0a01\u0001\u0000\u0000\u0000\u0a04\u0a07\u0001\u0000"+
54336 "\u0000\u0000\u0a05\u0a03\u0001\u0000\u0000\u0000\u0a05\u0a06\u0001\u0000"+
54337 "\u0000\u0000\u0a06\u0a08\u0001\u0000\u0000\u0000\u0a07\u0a05\u0001\u0000"+
54338 "\u0000\u0000\u0a08\u0a09\u0005 \u0000\u0000\u0a09\u0165\u0001\u0000\u0000"+
54339 "\u0000\u0a0a\u0a0e\u0003\u0150\u00a8\u0000\u0a0b\u0a0e\u0003\u0152\u00a9"+
54340 "\u0000\u0a0c\u0a0e\u0003\u0168\u00b4\u0000\u0a0d\u0a0a\u0001\u0000\u0000"+
54341 "\u0000\u0a0d\u0a0b\u0001\u0000\u0000\u0000\u0a0d\u0a0c\u0001\u0000\u0000"+
54342 "\u0000\u0a0e\u0167\u0001\u0000\u0000\u0000\u0a0f\u0a10\u0005a\u0000\u0000"+
54343 "\u0a10\u0a11\u0005\u009a\u0000\u0000\u0a11\u0169\u0001\u0000\u0000\u0000"+
54344 "\u0a12\u0a16\u0005\u019a\u0000\u0000\u0a13\u0a17\u0003\u00cae\u0000\u0a14"+
54345 "\u0a17\u00034\u001a\u0000\u0a15\u0a17\u0005\u02b7\u0000\u0000\u0a16\u0a13"+
54346 "\u0001\u0000\u0000\u0000\u0a16\u0a14\u0001\u0000\u0000\u0000\u0a16\u0a15"+
54347 "\u0001\u0000\u0000\u0000\u0a17\u016b\u0001\u0000\u0000\u0000\u0a18\u0a1d"+
54348 "\u0003\u013e\u009f\u0000\u0a19\u0a1a\u0005%\u0000\u0000\u0a1a\u0a1c\u0003"+
54349 "\u013e\u009f\u0000\u0a1b\u0a19\u0001\u0000\u0000\u0000\u0a1c\u0a1f\u0001"+
54350 "\u0000\u0000\u0000\u0a1d\u0a1b\u0001\u0000\u0000\u0000\u0a1d\u0a1e\u0001"+
54351 "\u0000\u0000\u0000\u0a1e\u0a21\u0001\u0000\u0000\u0000\u0a1f\u0a1d\u0001"+
54352 "\u0000\u0000\u0000\u0a20\u0a18\u0001\u0000\u0000\u0000\u0a20\u0a21\u0001"+
54353 "\u0000\u0000\u0000\u0a21\u016d\u0001\u0000\u0000\u0000\u0a22\u0a23\u0003"+
54354 "H$\u0000\u0a23\u0a24\u0005`\u0000\u0000\u0a24\u0a2a\u0003b1\u0000\u0a25"+
54355 "\u0a28\u0005\u011d\u0000\u0000\u0a26\u0a27\u0005k\u0000\u0000\u0a27\u0a29"+
54356 "\u0005l\u0000\u0000\u0a28\u0a26\u0001\u0000\u0000\u0000\u0a28\u0a29\u0001"+
54357 "\u0000\u0000\u0000\u0a29\u0a2b\u0001\u0000\u0000\u0000\u0a2a\u0a25\u0001"+
54358 "\u0000\u0000\u0000\u0a2a\u0a2b\u0001\u0000\u0000\u0000\u0a2b\u0a2d\u0001"+
54359 "\u0000\u0000\u0000\u0a2c\u0a2e\u0003\u0140\u00a0\u0000\u0a2d\u0a2c\u0001"+
54360 "\u0000\u0000\u0000\u0a2d\u0a2e\u0001\u0000\u0000\u0000\u0a2e\u016f\u0001"+
54361 "\u0000\u0000\u0000\u0a2f\u0a30\u0003\u00cae\u0000\u0a30\u0a31\u0005\u02b5"+
54362 "\u0000\u0000\u0a31\u0a32\u0005\u0183\u0000\u0000\u0a32\u0a33\u0005f\u0000"+
54363 "\u0000\u0a33\u0a34\u0005\u017f\u0000\u0000\u0a34\u0171\u0001\u0000\u0000"+
54364 "\u0000\u0a35\u0a36\u0005?\u0000\u0000\u0a36\u0a38\u0003X,\u0000\u0a37"+
54365 "\u0a35\u0001\u0000\u0000\u0000\u0a37\u0a38\u0001\u0000\u0000\u0000\u0a38"+
54366 "\u0a3c\u0001\u0000\u0000\u0000\u0a39\u0a3d\u0003\u0174\u00ba\u0000\u0a3a"+
54367 "\u0a3d\u0003\u017e\u00bf\u0000\u0a3b\u0a3d\u0003\u0160\u00b0\u0000\u0a3c"+
54368 "\u0a39\u0001\u0000\u0000\u0000\u0a3c\u0a3a\u0001\u0000\u0000\u0000\u0a3c"+
54369 "\u0a3b\u0001\u0000\u0000\u0000\u0a3d\u0173\u0001\u0000\u0000\u0000\u0a3e"+
54370 "\u0a41\u0003\u0176\u00bb\u0000\u0a3f\u0a42\u0003\u0178\u00bc\u0000\u0a40"+
54371 "\u0a42\u0003\u017a\u00bd\u0000\u0a41\u0a3f\u0001\u0000\u0000\u0000\u0a41"+
54372 "\u0a40\u0001\u0000\u0000\u0000\u0a42\u0175\u0001\u0000\u0000\u0000\u0a43"+
54373 "\u0a46\u0003`0\u0000\u0a44\u0a46\u0005A\u0000\u0000\u0a45\u0a43\u0001"+
54374 "\u0000\u0000\u0000\u0a45\u0a44\u0001\u0000\u0000\u0000\u0a46\u0177\u0001"+
54375 "\u0000\u0000\u0000\u0a47\u0a49\u0003\u014a\u00a5\u0000\u0a48\u0a47\u0001"+
54376 "\u0000\u0000\u0000\u0a48\u0a49\u0001\u0000\u0000\u0000\u0a49\u0a4a\u0001"+
54377 "\u0000\u0000\u0000\u0a4a\u0a4c\u0003P(\u0000\u0a4b\u0a4d\u0003\u014c\u00a6"+
54378 "\u0000\u0a4c\u0a4b\u0001\u0000\u0000\u0000\u0a4c\u0a4d\u0001\u0000\u0000"+
54379 "\u0000\u0a4d\u0a4f\u0001\u0000\u0000\u0000\u0a4e\u0a50\u0003\u014e\u00a7"+
54380 "\u0000\u0a4f\u0a4e\u0001\u0000\u0000\u0000\u0a4f\u0a50\u0001\u0000\u0000"+
54381 "\u0000\u0a50\u0179\u0001\u0000\u0000\u0000\u0a51\u0a54\u0005\u00f5\u0000"+
54382 "\u0000\u0a52\u0a55\u0003P(\u0000\u0a53\u0a55\u0003\u017c\u00be\u0000\u0a54"+
54383 "\u0a52\u0001\u0000\u0000\u0000\u0a54\u0a53\u0001\u0000\u0000\u0000\u0a55"+
54384 "\u017b\u0001\u0000\u0000\u0000\u0a56\u0a57\u0005\u010a\u0000\u0000\u0a57"+
54385 "\u0a58\u0003P(\u0000\u0a58\u0a59\u0003\u0158\u00ac\u0000\u0a59\u017d\u0001"+
54386 "\u0000\u0000\u0000\u0a5a\u0a5b\u0005B\u0000\u0000\u0a5b\u0a5d\u0005C\u0000"+
54387 "\u0000\u0a5c\u0a5a\u0001\u0000\u0000\u0000\u0a5c\u0a5d\u0001\u0000\u0000"+
54388 "\u0000\u0a5d\u0a5e\u0001\u0000\u0000\u0000\u0a5e\u0a5f\u0003P(\u0000\u0a5f"+
54389 "\u0a60\u0005\u00eb\u0000\u0000\u0a60\u0a61\u0003@ \u0000\u0a61\u0a65\u0003"+
54390 "P(\u0000\u0a62\u0a64\u0003\u015c\u00ae\u0000\u0a63\u0a62\u0001\u0000\u0000"+
54391 "\u0000\u0a64\u0a67\u0001\u0000\u0000\u0000\u0a65\u0a63\u0001\u0000\u0000"+
54392 "\u0000\u0a65\u0a66\u0001\u0000\u0000\u0000\u0a66\u017f\u0001\u0000\u0000"+
54393 "\u0000\u0a67\u0a65\u0001\u0000\u0000\u0000\u0a68\u0a69\u0005>\u0000\u0000"+
54394 "\u0a69\u0a6a\u0003V+\u0000\u0a6a\u0a6d\u0003\u0182\u00c1\u0000\u0a6b\u0a6c"+
54395 "\u0005M\u0000\u0000\u0a6c\u0a6e\u0003\u0184\u00c2\u0000\u0a6d\u0a6b\u0001"+
54396 "\u0000\u0000\u0000\u0a6d\u0a6e\u0001\u0000\u0000\u0000\u0a6e\u0a70\u0001"+
54397 "\u0000\u0000\u0000\u0a6f\u0a71\u0003\u0166\u00b3\u0000\u0a70\u0a6f\u0001"+
54398 "\u0000\u0000\u0000\u0a70\u0a71\u0001\u0000\u0000\u0000\u0a71\u0a73\u0001"+
54399 "\u0000\u0000\u0000\u0a72\u0a74\u0003\u016a\u00b5\u0000\u0a73\u0a72\u0001"+
54400 "\u0000\u0000\u0000\u0a73\u0a74\u0001\u0000\u0000\u0000\u0a74\u0181\u0001"+
54401 "\u0000\u0000\u0000\u0a75\u0a77\u0003\u014a\u00a5\u0000\u0a76\u0a75\u0001"+
54402 "\u0000\u0000\u0000\u0a76\u0a77\u0001\u0000\u0000\u0000\u0a77\u0a78\u0001"+
54403 "\u0000\u0000\u0000\u0a78\u0a81\u0003P(\u0000\u0a79\u0a7a\u0005\u00f4\u0000"+
54404 "\u0000\u0a7a\u0a81\u0005\u00f7\u0000\u0000\u0a7b\u0a7d\u0005\u00f5\u0000"+
54405 "\u0000\u0a7c\u0a7b\u0001\u0000\u0000\u0000\u0a7c\u0a7d\u0001\u0000\u0000"+
54406 "\u0000\u0a7d\u0a7e\u0001\u0000\u0000\u0000\u0a7e\u0a7f\u0005\u00f7\u0000"+
54407 "\u0000\u0a7f\u0a81\u0003P(\u0000\u0a80\u0a76\u0001\u0000\u0000\u0000\u0a80"+
54408 "\u0a79\u0001\u0000\u0000\u0000\u0a80\u0a7c\u0001\u0000\u0000\u0000\u0a81"+
54409 "\u0183\u0001\u0000\u0000\u0000\u0a82\u0a83\u0005\u001f\u0000\u0000\u0a83"+
54410 "\u0a88\u0003\u00b2Y\u0000\u0a84\u0a85\u0005%\u0000\u0000\u0a85\u0a87\u0003"+
54411 "\u00b2Y\u0000\u0a86\u0a84\u0001\u0000\u0000\u0000\u0a87\u0a8a\u0001\u0000"+
54412 "\u0000\u0000\u0a88\u0a86\u0001\u0000\u0000\u0000\u0a88\u0a89\u0001\u0000"+
54413 "\u0000\u0000\u0a89\u0a8b\u0001\u0000\u0000\u0000\u0a8a\u0a88\u0001\u0000"+
54414 "\u0000\u0000\u0a8b\u0a8c\u0005 \u0000\u0000\u0a8c\u0185\u0001\u0000\u0000"+
54415 "\u0000\u0a8d\u0a8e\u0005\u011c\u0000\u0000\u0a8e\u0a8f\u0005f\u0000\u0000"+
54416 "\u0a8f\u0a90\u0005\u0189\u0000\u0000\u0a90\u0a91\u0005\u001f\u0000\u0000"+
54417 "\u0a91\u0a92\u0003H$\u0000\u0a92\u0a93\u0005%\u0000\u0000\u0a93\u0a94"+
54418 "\u0003H$\u0000\u0a94\u0a95\u0005 \u0000\u0000\u0a95\u0187\u0001\u0000"+
54419 "\u0000\u0000\u0a96\u0a9e\u0005a\u0000\u0000\u0a97\u0a98\u00034\u001a\u0000"+
54420 "\u0a98\u0a99\u0005\u001f\u0000\u0000\u0a99\u0a9a\u0003H$\u0000\u0a9a\u0a9b"+
54421 "\u0005 \u0000\u0000\u0a9b\u0a9f\u0001\u0000\u0000\u0000\u0a9c\u0a9f\u0003"+
54422 "\u00cae\u0000\u0a9d\u0a9f\u0005\u02b7\u0000\u0000\u0a9e\u0a97\u0001\u0000"+
54423 "\u0000\u0000\u0a9e\u0a9c\u0001\u0000\u0000\u0000\u0a9e\u0a9d\u0001\u0000"+
54424 "\u0000\u0000\u0a9f\u0aa1\u0001\u0000\u0000\u0000\u0aa0\u0a96\u0001\u0000"+
54425 "\u0000\u0000\u0aa0\u0aa1\u0001\u0000\u0000\u0000\u0aa1\u0189\u0001\u0000"+
54426 "\u0000\u0000\u0aa2\u0aa5\u0005\u018b\u0000\u0000\u0aa3\u0aa6\u0003\u00ca"+
54427 "e\u0000\u0aa4\u0aa6\u0005\u02b7\u0000\u0000\u0aa5\u0aa3\u0001\u0000\u0000"+
54428 "\u0000\u0aa5\u0aa4\u0001\u0000\u0000\u0000\u0aa6\u0aa8\u0001\u0000\u0000"+
54429 "\u0000\u0aa7\u0aa2\u0001\u0000\u0000\u0000\u0aa7\u0aa8\u0001\u0000\u0000"+
54430 "\u0000\u0aa8\u0ab0\u0001\u0000\u0000\u0000\u0aa9\u0aaa\u0005\u019a\u0000"+
54431 "\u0000\u0aaa\u0aaf\u00034\u001a\u0000\u0aab\u0aac\u0003\u00cae\u0000\u0aac"+
54432 "\u0aad\u0005\u02b7\u0000\u0000\u0aad\u0aaf\u0001\u0000\u0000\u0000\u0aae"+
54433 "\u0aa9\u0001\u0000\u0000\u0000\u0aae\u0aab\u0001\u0000\u0000\u0000\u0aaf"+
54434 "\u0ab1\u0001\u0000\u0000\u0000\u0ab0\u0aae\u0001\u0000\u0000\u0000\u0ab0"+
54435 "\u0ab1\u0001\u0000\u0000\u0000\u0ab1\u0ab4\u0001\u0000\u0000\u0000\u0ab2"+
54436 "\u0ab3\u0005M\u0000\u0000\u0ab3\u0ab5\u0003\u018c\u00c6\u0000\u0ab4\u0ab2"+
54437 "\u0001\u0000\u0000\u0000\u0ab4\u0ab5\u0001\u0000\u0000\u0000\u0ab5\u018b"+
54438 "\u0001\u0000\u0000\u0000\u0ab6\u0ab7\u0005\u001f\u0000\u0000\u0ab7\u0abc"+
54439 "\u0003\u018e\u00c7\u0000\u0ab8\u0ab9\u0005%\u0000\u0000\u0ab9\u0abb\u0003"+
54440 "\u018e\u00c7\u0000\u0aba\u0ab8\u0001\u0000\u0000\u0000\u0abb\u0abe\u0001"+
54441 "\u0000\u0000\u0000\u0abc\u0aba\u0001\u0000\u0000\u0000\u0abc\u0abd\u0001"+
54442 "\u0000\u0000\u0000\u0abd\u0abf\u0001\u0000\u0000\u0000\u0abe\u0abc\u0001"+
54443 "\u0000\u0000\u0000\u0abf\u0ac0\u0005 \u0000\u0000\u0ac0\u018d\u0001\u0000"+
54444 "\u0000\u0000\u0ac1\u0ac2\u0005\u0186\u0000\u0000\u0ac2\u0ac3\u0005\u0018"+
54445 "\u0000\u0000\u0ac3\u0aca\u0007#\u0000\u0000\u0ac4\u0ac5\u0005a\u0000\u0000"+
54446 "\u0ac5\u0ac6\u0005\u00de\u0000\u0000\u0ac6\u0ac7\u0005\u001f\u0000\u0000"+
54447 "\u0ac7\u0ac8\u0003\u00c0`\u0000\u0ac8\u0ac9\u0005 \u0000\u0000\u0ac9\u0acb"+
54448 "\u0001\u0000\u0000\u0000\u0aca\u0ac4\u0001\u0000\u0000\u0000\u0aca\u0acb"+
54449 "\u0001\u0000\u0000\u0000\u0acb\u0af4\u0001\u0000\u0000\u0000\u0acc\u0acd"+
54450 "\u0005\u019c\u0000\u0000\u0acd\u0ace\u0005\u0018\u0000\u0000\u0ace\u0af4"+
54451 "\u0003\u00cae\u0000\u0acf\u0ad0\u0005\u019b\u0000\u0000\u0ad0\u0ad3\u0005"+
54452 "\u0018\u0000\u0000\u0ad1\u0ad4\u0003Z-\u0000\u0ad2\u0ad4\u0005\u0185\u0000"+
54453 "\u0000\u0ad3\u0ad1\u0001\u0000\u0000\u0000\u0ad3\u0ad2\u0001\u0000\u0000"+
54454 "\u0000\u0ad4\u0af4\u0001\u0000\u0000\u0000\u0ad5\u0ad6\u0005\u019e\u0000"+
54455 "\u0000\u0ad6\u0ad7\u0005\u0018\u0000\u0000\u0ad7\u0af4\u0003\u00cae\u0000"+
54456 "\u0ad8\u0ad9\u0005\u019f\u0000\u0000\u0ad9\u0ada\u0005\u0018\u0000\u0000"+
54457 "\u0ada\u0af4\u0003\u00cae\u0000\u0adb\u0adc\u0005\u019d\u0000\u0000\u0adc"+
54458 "\u0add\u0005\u0018\u0000\u0000\u0add\u0af4\u0003\u00cae\u0000\u0ade\u0adf"+
54459 "\u0005\u018a\u0000\u0000\u0adf\u0ae0\u0005\u0018\u0000\u0000\u0ae0\u0ae2"+
54460 "\u0005a\u0000\u0000\u0ae1\u0ae3\u0003\u01e6\u00f3\u0000\u0ae2\u0ae1\u0001"+
54461 "\u0000\u0000\u0000\u0ae2\u0ae3\u0001\u0000\u0000\u0000\u0ae3\u0af4\u0001"+
54462 "\u0000\u0000\u0000\u0ae4\u0ae5\u0005\u0199\u0000\u0000\u0ae5\u0aec\u0005"+
54463 "\u0018\u0000\u0000\u0ae6\u0ae8\u0005a\u0000\u0000\u0ae7\u0ae9\u0003\u0192"+
54464 "\u00c9\u0000\u0ae8\u0ae7\u0001\u0000\u0000\u0000\u0ae8\u0ae9\u0001\u0000"+
54465 "\u0000\u0000\u0ae9\u0aed\u0001\u0000\u0000\u0000\u0aea\u0aeb\u0005b\u0000"+
54466 "\u0000\u0aeb\u0aed\u0003\u0196\u00cb\u0000\u0aec\u0ae6\u0001\u0000\u0000"+
54467 "\u0000\u0aec\u0aea\u0001\u0000\u0000\u0000\u0aed\u0af4\u0001\u0000\u0000"+
54468 "\u0000\u0aee\u0af4\u0003\u0198\u00cc\u0000\u0aef\u0af4\u0003\u019a\u00cd"+
54469 "\u0000\u0af0\u0af4\u0003\u019c\u00ce\u0000\u0af1\u0af4\u0003\u0190\u00c8"+
54470 "\u0000\u0af2\u0af4\u0003\u019e\u00cf\u0000\u0af3\u0ac1\u0001\u0000\u0000"+
54471 "\u0000\u0af3\u0acc\u0001\u0000\u0000\u0000\u0af3\u0acf\u0001\u0000\u0000"+
54472 "\u0000\u0af3\u0ad5\u0001\u0000\u0000\u0000\u0af3\u0ad8\u0001\u0000\u0000"+
54473 "\u0000\u0af3\u0adb\u0001\u0000\u0000\u0000\u0af3\u0ade\u0001\u0000\u0000"+
54474 "\u0000\u0af3\u0ae4\u0001\u0000\u0000\u0000\u0af3\u0aee\u0001\u0000\u0000"+
54475 "\u0000\u0af3\u0aef\u0001\u0000\u0000\u0000\u0af3\u0af0\u0001\u0000\u0000"+
54476 "\u0000\u0af3\u0af1\u0001\u0000\u0000\u0000\u0af3\u0af2\u0001\u0000\u0000"+
54477 "\u0000\u0af4\u018f\u0001\u0000\u0000\u0000\u0af5\u0af6\u0005\u01db\u0000"+
54478 "\u0000\u0af6\u0af7\u0005\u0018\u0000\u0000\u0af7\u0af8\u0005a\u0000\u0000"+
54479 "\u0af8\u0af9\u0005\u001f\u0000\u0000\u0af9\u0afa\u0005\u01dc\u0000\u0000"+
54480 "\u0afa\u0afb\u0005\u0018\u0000\u0000\u0afb\u0afc\u0003H$\u0000\u0afc\u0afd"+
54481 "\u0005%\u0000\u0000\u0afd\u0afe\u0005\u01dd\u0000\u0000\u0afe\u0aff\u0005"+
54482 "\u0018\u0000\u0000\u0aff\u0b00\u0003\u01d8\u00ec\u0000\u0b00\u0191\u0001"+
54483 "\u0000\u0000\u0000\u0b01\u0b02\u0005\u001f\u0000\u0000\u0b02\u0b07\u0003"+
54484 "\u0194\u00ca\u0000\u0b03\u0b04\u0005%\u0000\u0000\u0b04\u0b06\u0003\u0194"+
54485 "\u00ca\u0000\u0b05\u0b03\u0001\u0000\u0000\u0000\u0b06\u0b09\u0001\u0000"+
54486 "\u0000\u0000\u0b07\u0b05\u0001\u0000\u0000\u0000\u0b07\u0b08\u0001\u0000"+
54487 "\u0000\u0000\u0b08\u0b0a\u0001\u0000\u0000\u0000\u0b09\u0b07\u0001\u0000"+
54488 "\u0000\u0000\u0b0a\u0b0b\u0005 \u0000\u0000\u0b0b\u0193\u0001\u0000\u0000"+
54489 "\u0000\u0b0c\u0b0d\u0005\u01a0\u0000\u0000\u0b0d\u0b10\u0005\u0018\u0000"+
54490 "\u0000\u0b0e\u0b11\u0005l\u0000\u0000\u0b0f\u0b11\u0003t:\u0000\u0b10"+
54491 "\u0b0e\u0001\u0000\u0000\u0000\u0b10\u0b0f\u0001\u0000\u0000\u0000\u0b11"+
54492 "\u0b12\u0001\u0000\u0000\u0000\u0b12\u0b14\u0005%\u0000\u0000\u0b13\u0b0c"+
54493 "\u0001\u0000\u0000\u0000\u0b13\u0b14\u0001\u0000\u0000\u0000\u0b14\u0b15"+
54494 "\u0001\u0000\u0000\u0000\u0b15\u0b16\u0005\u0197\u0000\u0000\u0b16\u0b17"+
54495 "\u0005\u0018\u0000\u0000\u0b17\u0b18\u0007$\u0000\u0000\u0b18\u0195\u0001"+
54496 "\u0000\u0000\u0000\u0b19\u0b1a\u0005\u001f\u0000\u0000\u0b1a\u0b1b\u0005"+
54497 "\u0197\u0000\u0000\u0b1b\u0b1c\u0005\u0018\u0000\u0000\u0b1c\u0b1d\u0005"+
54498 "\u011b\u0000\u0000\u0b1d\u0b1e\u0005 \u0000\u0000\u0b1e\u0197\u0001\u0000"+
54499 "\u0000\u0000\u0b1f\u0b20\u0005\u0196\u0000\u0000\u0b20\u0b21\u0005\u0018"+
54500 "\u0000\u0000\u0b21\u0b2c\u0005a\u0000\u0000\u0b22\u0b23\u0005\u0103\u0000"+
54501 "\u0000\u0b23\u0b24\u0005\u0018\u0000\u0000\u0b24\u0b2c\u0007%\u0000\u0000"+
54502 "\u0b25\u0b26\u0005\u018a\u0000\u0000\u0b26\u0b27\u0005\u0018\u0000\u0000"+
54503 "\u0b27\u0b29\u0005a\u0000\u0000\u0b28\u0b2a\u0003\u01e6\u00f3\u0000\u0b29"+
54504 "\u0b28\u0001\u0000\u0000\u0000\u0b29\u0b2a\u0001\u0000\u0000\u0000\u0b2a"+
54505 "\u0b2c\u0001\u0000\u0000\u0000\u0b2b\u0b1f\u0001\u0000\u0000\u0000\u0b2b"+
54506 "\u0b22\u0001\u0000\u0000\u0000\u0b2b\u0b25\u0001\u0000\u0000\u0000\u0b2c"+
54507 "\u0199\u0001\u0000\u0000\u0000\u0b2d\u0b2e\u0005\u0101\u0000\u0000\u0b2e"+
54508 "\u0b36\u0005\u0018\u0000\u0000\u0b2f\u0b30\u0005\u010a\u0000\u0000\u0b30"+
54509 "\u0b31\u0005\u001f\u0000\u0000\u0b31\u0b32\u0003H$\u0000\u0b32\u0b33\u0005"+
54510 " \u0000\u0000\u0b33\u0b37\u0001\u0000\u0000\u0000\u0b34\u0b37\u0005\u018f"+
54511 "\u0000\u0000\u0b35\u0b37\u0005\u0122\u0000\u0000\u0b36\u0b2f\u0001\u0000"+
54512 "\u0000\u0000\u0b36\u0b34\u0001\u0000\u0000\u0000\u0b36\u0b35\u0001\u0000"+
54513 "\u0000\u0000\u0b37\u019b\u0001\u0000\u0000\u0000\u0b38\u0b39\u0005\u00f4"+
54514 "\u0000\u0000\u0b39\u0b3a\u0005\u00f7\u0000\u0000\u0b3a\u0b55\u0005>\u0000"+
54515 "\u0000\u0b3b\u0b3c\u0005\u00f4\u0000\u0000\u0b3c\u0b3d\u0005\u00f7\u0000"+
54516 "\u0000\u0b3d\u0b3e\u0005>\u0000\u0000\u0b3e\u0b3f\u0005u\u0000\u0000\u0b3f"+
54517 "\u0b55\u0003P(\u0000\u0b40\u0b55\u0005\u010b\u0000\u0000\u0b41\u0b42\u0005"+
54518 "\u00f4\u0000\u0000\u0b42\u0b43\u0005>\u0000\u0000\u0b43\u0b44\u0005\u001f"+
54519 "\u0000\u0000\u0b44\u0b46\u0003H$\u0000\u0b45\u0b47\u0007\u0012\u0000\u0000"+
54520 "\u0b46\u0b45\u0001\u0000\u0000\u0000\u0b46\u0b47\u0001\u0000\u0000\u0000"+
54521 "\u0b47\u0b4f\u0001\u0000\u0000\u0000\u0b48\u0b49\u0005%\u0000\u0000\u0b49"+
54522 "\u0b4b\u0003H$\u0000\u0b4a\u0b4c\u0007\u0012\u0000\u0000\u0b4b\u0b4a\u0001"+
54523 "\u0000\u0000\u0000\u0b4b\u0b4c\u0001\u0000\u0000\u0000\u0b4c\u0b4e\u0001"+
54524 "\u0000\u0000\u0000\u0b4d\u0b48\u0001\u0000\u0000\u0000\u0b4e\u0b51\u0001"+
54525 "\u0000\u0000\u0000\u0b4f\u0b4d\u0001\u0000\u0000\u0000\u0b4f\u0b50\u0001"+
54526 "\u0000\u0000\u0000\u0b50\u0b52\u0001\u0000\u0000\u0000\u0b51\u0b4f\u0001"+
54527 "\u0000\u0000\u0000\u0b52\u0b53\u0005 \u0000\u0000\u0b53\u0b55\u0001\u0000"+
54528 "\u0000\u0000\u0b54\u0b38\u0001\u0000\u0000\u0000\u0b54\u0b3b\u0001\u0000"+
54529 "\u0000\u0000\u0b54\u0b40\u0001\u0000\u0000\u0000\u0b54\u0b41\u0001\u0000"+
54530 "\u0000\u0000\u0b55\u019d\u0001\u0000\u0000\u0000\u0b56\u0b57\u0005\u00dd"+
54531 "\u0000\u0000\u0b57\u0b58\u0005\u001f\u0000\u0000\u0b58\u0b59\u0003H$\u0000"+
54532 "\u0b59\u0b5b\u0005\u0120\u0000\u0000\u0b5a\u0b5c\u0007&\u0000\u0000\u0b5b"+
54533 "\u0b5a\u0001\u0000\u0000\u0000\u0b5b\u0b5c\u0001\u0000\u0000\u0000\u0b5c"+
54534 "\u0b5d\u0001\u0000\u0000\u0000\u0b5d\u0b5e\u0005f\u0000\u0000\u0b5e\u0b5f"+
54535 "\u0005L\u0000\u0000\u0b5f\u0b60\u0005\u001f\u0000\u0000\u0b60\u0b65\u0003"+
54536 "r9\u0000\u0b61\u0b62\u0005%\u0000\u0000\u0b62\u0b64\u0003r9\u0000\u0b63"+
54537 "\u0b61\u0001\u0000\u0000\u0000\u0b64\u0b67\u0001\u0000\u0000\u0000\u0b65"+
54538 "\u0b63\u0001\u0000\u0000\u0000\u0b65\u0b66\u0001\u0000\u0000\u0000\u0b66"+
54539 "\u0b68\u0001\u0000\u0000\u0000\u0b67\u0b65\u0001\u0000\u0000\u0000\u0b68"+
54540 "\u0b69\u0005 \u0000\u0000\u0b69\u0b6a\u0005 \u0000\u0000\u0b6a\u019f\u0001"+
54541 "\u0000\u0000\u0000\u0b6b\u0b6d\u0005A\u0000\u0000\u0b6c\u0b6b\u0001\u0000"+
54542 "\u0000\u0000\u0b6c\u0b6d\u0001\u0000\u0000\u0000\u0b6d\u0b6f\u0001\u0000"+
54543 "\u0000\u0000\u0b6e\u0b70\u0003\u014a\u00a5\u0000\u0b6f\u0b6e\u0001\u0000"+
54544 "\u0000\u0000\u0b6f\u0b70\u0001\u0000\u0000\u0000\u0b70\u01a1\u0001\u0000"+
54545 "\u0000\u0000\u0b71\u0b7b\u0003\u01a4\u00d2\u0000\u0b72\u0b7b\u0003\u01a6"+
54546 "\u00d3\u0000\u0b73\u0b7b\u0003\u01b6\u00db\u0000\u0b74\u0b7b\u0003\u01c6"+
54547 "\u00e3\u0000\u0b75\u0b7b\u0003\u01c8\u00e4\u0000\u0b76\u0b7b\u0003\u01ca"+
54548 "\u00e5\u0000\u0b77\u0b7b\u0003\u01cc\u00e6\u0000\u0b78\u0b7b\u0003\u01e4"+
54549 "\u00f2\u0000\u0b79\u0b7b\u0005\u0121\u0000\u0000\u0b7a\u0b71\u0001\u0000"+
54550 "\u0000\u0000\u0b7a\u0b72\u0001\u0000\u0000\u0000\u0b7a\u0b73\u0001\u0000"+
54551 "\u0000\u0000\u0b7a\u0b74\u0001\u0000\u0000\u0000\u0b7a\u0b75\u0001\u0000"+
54552 "\u0000\u0000\u0b7a\u0b76\u0001\u0000\u0000\u0000\u0b7a\u0b77\u0001\u0000"+
54553 "\u0000\u0000\u0b7a\u0b78\u0001\u0000\u0000\u0000\u0b7a\u0b79\u0001\u0000"+
54554 "\u0000\u0000\u0b7b\u01a3\u0001\u0000\u0000\u0000\u0b7c\u0b7d\u0005M\u0000"+
54555 "\u0000\u0b7d\u0b7f\u0007\'\u0000\u0000\u0b7e\u0b7c\u0001\u0000\u0000\u0000"+
54556 "\u0b7e\u0b7f\u0001\u0000\u0000\u0000\u0b7f\u0b80\u0001\u0000\u0000\u0000"+
54557 "\u0b80\u0b83\u00059\u0000\u0000\u0b81\u0b84\u0003\u01aa\u00d5\u0000\u0b82"+
54558 "\u0b84\u0003\u01b0\u00d8\u0000\u0b83\u0b81\u0001\u0000\u0000\u0000\u0b83"+
54559 "\u0b82\u0001\u0000\u0000\u0000\u0b84\u01a5\u0001\u0000\u0000\u0000\u0b85"+
54560 "\u0b86\u0003\u01a8\u00d4\u0000\u0b86\u0b89\u0003\u0094J\u0000\u0b87\u0b88"+
54561 "\u0005\u00f6\u0000\u0000\u0b88\u0b8a\u0003Z-\u0000\u0b89\u0b87\u0001\u0000"+
54562 "\u0000\u0000\u0b89\u0b8a\u0001\u0000\u0000\u0000\u0b8a\u0b8e\u0001\u0000"+
54563 "\u0000\u0000\u0b8b\u0b8f\u0005l\u0000\u0000\u0b8c\u0b8d\u0005k\u0000\u0000"+
54564 "\u0b8d\u0b8f\u0005l\u0000\u0000\u0b8e\u0b8b\u0001\u0000\u0000\u0000\u0b8e"+
54565 "\u0b8c\u0001\u0000\u0000\u0000\u0b8e\u0b8f\u0001\u0000\u0000\u0000\u0b8f"+
54566 "\u0b91\u0001\u0000\u0000\u0000\u0b90\u0b92\u0005\u0128\u0000\u0000\u0b91"+
54567 "\u0b90\u0001\u0000\u0000\u0000\u0b91\u0b92\u0001\u0000\u0000\u0000\u0b92"+
54568 "\u01a7\u0001\u0000\u0000\u0000\u0b93\u0b94\u00053\u0000\u0000\u0b94\u0b95"+
54569 "\u0005<\u0000\u0000\u0b95\u0b96\u0003H$\u0000\u0b96\u01a9\u0001\u0000"+
54570 "\u0000\u0000\u0b97\u0b9c\u0003\u01ac\u00d6\u0000\u0b98\u0b99\u0005%\u0000"+
54571 "\u0000\u0b99\u0b9b\u0003\u01ac\u00d6\u0000\u0b9a\u0b98\u0001\u0000\u0000"+
54572 "\u0000\u0b9b\u0b9e\u0001\u0000\u0000\u0000\u0b9c\u0b9a\u0001\u0000\u0000"+
54573 "\u0000\u0b9c\u0b9d\u0001\u0000\u0000\u0000\u0b9d\u01ab\u0001\u0000\u0000"+
54574 "\u0000\u0b9e\u0b9c\u0001\u0000\u0000\u0000\u0b9f\u0ba6\u0003\u0138\u009c"+
54575 "\u0000\u0ba0\u0ba6\u0003\u016e\u00b7\u0000\u0ba1\u0ba6\u0003\u0170\u00b8"+
54576 "\u0000\u0ba2\u0ba6\u0003\u0172\u00b9\u0000\u0ba3\u0ba6\u0003\u01da\u00ed"+
54577 "\u0000\u0ba4\u0ba6\u0003\u01ae\u00d7\u0000\u0ba5\u0b9f\u0001\u0000\u0000"+
54578 "\u0000\u0ba5\u0ba0\u0001\u0000\u0000\u0000\u0ba5\u0ba1\u0001\u0000\u0000"+
54579 "\u0000\u0ba5\u0ba2\u0001\u0000\u0000\u0000\u0ba5\u0ba3\u0001\u0000\u0000"+
54580 "\u0000\u0ba5\u0ba4\u0001\u0000\u0000\u0000\u0ba6\u01ad\u0001\u0000\u0000"+
54581 "\u0000\u0ba7\u0ba8\u0005?\u0000\u0000\u0ba8\u0baa\u0003X,\u0000\u0ba9"+
54582 "\u0ba7\u0001\u0000\u0000\u0000\u0ba9\u0baa\u0001\u0000\u0000\u0000\u0baa"+
54583 "\u0bab\u0001\u0000\u0000\u0000\u0bab\u0bac\u0005\u009a\u0000\u0000\u0bac"+
54584 "\u0bad\u0003r9\u0000\u0bad\u0bae\u0005f\u0000\u0000\u0bae\u0baf\u0003"+
54585 "H$\u0000\u0baf\u01af\u0001\u0000\u0000\u0000\u0bb0\u0bb1\u0003\u01b2\u00d9"+
54586 "\u0000\u0bb1\u0bb2\u0005%\u0000\u0000\u0bb2\u0bb3\u0003\u0186\u00c3\u0000"+
54587 "\u0bb3\u0bb9\u0001\u0000\u0000\u0000\u0bb4\u0bb5\u0003\u0186\u00c3\u0000"+
54588 "\u0bb5\u0bb6\u0005%\u0000\u0000\u0bb6\u0bb7\u0003\u01b2\u00d9\u0000\u0bb7"+
54589 "\u0bb9\u0001\u0000\u0000\u0000\u0bb8\u0bb0\u0001\u0000\u0000\u0000\u0bb8"+
54590 "\u0bb4\u0001\u0000\u0000\u0000\u0bb9\u01b1\u0001\u0000\u0000\u0000\u0bba"+
54591 "\u0bbb\u0003\u01b4\u00da\u0000\u0bbb\u0bbc\u0005\u009a\u0000\u0000\u0bbc"+
54592 "\u0bbf\u0003r9\u0000\u0bbd\u0bbe\u0005M\u0000\u0000\u0bbe\u0bc0\u0005"+
54593 "L\u0000\u0000\u0bbf\u0bbd\u0001\u0000\u0000\u0000\u0bbf\u0bc0\u0001\u0000"+
54594 "\u0000\u0000\u0bc0\u0bc1\u0001\u0000\u0000\u0000\u0bc1\u0bc2\u0005%\u0000"+
54595 "\u0000\u0bc2\u0bc3\u0003\u01b4\u00da\u0000\u0bc3\u01b3\u0001\u0000\u0000"+
54596 "\u0000\u0bc4\u0bc5\u0003H$\u0000\u0bc5\u0bc6\u0003\u0096K\u0000\u0bc6"+
54597 "\u0bc7\u0005\u00e7\u0000\u0000\u0bc7\u0bc8\u0005\u00e4\u0000\u0000\u0bc8"+
54598 "\u0bc9\u0005`\u0000\u0000\u0bc9\u0bcb\u0005\u00e0\u0000\u0000\u0bca\u0bcc"+
54599 "\u0007\u001e\u0000\u0000\u0bcb\u0bca\u0001\u0000\u0000\u0000\u0bcb\u0bcc"+
54600 "\u0001\u0000\u0000\u0000\u0bcc\u0bce\u0001\u0000\u0000\u0000\u0bcd\u0bcf"+
54601 "\u0005\u00db\u0000\u0000\u0bce\u0bcd\u0001\u0000\u0000\u0000\u0bce\u0bcf"+
54602 "\u0001\u0000\u0000\u0000\u0bcf\u0bd2\u0001\u0000\u0000\u0000\u0bd0\u0bd1"+
54603 "\u0005k\u0000\u0000\u0bd1\u0bd3\u0005l\u0000\u0000\u0bd2\u0bd0\u0001\u0000"+
54604 "\u0000\u0000\u0bd2\u0bd3\u0001\u0000\u0000\u0000\u0bd3\u0bd6\u0001\u0000"+
54605 "\u0000\u0000\u0bd4\u0bd5\u0005?\u0000\u0000\u0bd5\u0bd7\u0003\u00cae\u0000"+
54606 "\u0bd6\u0bd4\u0001\u0000\u0000\u0000\u0bd6\u0bd7\u0001\u0000\u0000\u0000"+
54607 "\u0bd7\u01b5\u0001\u0000\u0000\u0000\u0bd8\u0bdf\u00054\u0000\u0000\u0bd9"+
54608 "\u0be0\u0003\u01b8\u00dc\u0000\u0bda\u0be0\u0003\u01c2\u00e1\u0000\u0bdb"+
54609 "\u0be0\u0003\u01c4\u00e2\u0000\u0bdc\u0bdd\u0005\u011c\u0000\u0000\u0bdd"+
54610 "\u0bde\u0005f\u0000\u0000\u0bde\u0be0\u0005\u0189\u0000\u0000\u0bdf\u0bd9"+
54611 "\u0001\u0000\u0000\u0000\u0bdf\u0bda\u0001\u0000\u0000\u0000\u0bdf\u0bdb"+
54612 "\u0001\u0000\u0000\u0000\u0bdf\u0bdc\u0001\u0000\u0000\u0000\u0be0\u01b7"+
54613 "\u0001\u0000\u0000\u0000\u0be1\u0be3\u0005?\u0000\u0000\u0be2\u0be1\u0001"+
54614 "\u0000\u0000\u0000\u0be2\u0be3\u0001\u0000\u0000\u0000\u0be3\u0be5\u0001"+
54615 "\u0000\u0000\u0000\u0be4\u0be6\u0003\u00deo\u0000\u0be5\u0be4\u0001\u0000"+
54616 "\u0000\u0000\u0be5\u0be6\u0001\u0000\u0000\u0000\u0be6\u0be7\u0001\u0000"+
54617 "\u0000\u0000\u0be7\u0bec\u0003\u01ba\u00dd\u0000\u0be8\u0be9\u0005%\u0000"+
54618 "\u0000\u0be9\u0beb\u0003\u01ba\u00dd\u0000\u0bea\u0be8\u0001\u0000\u0000"+
54619 "\u0000\u0beb\u0bee\u0001\u0000\u0000\u0000\u0bec\u0bea\u0001\u0000\u0000"+
54620 "\u0000\u0bec\u0bed\u0001\u0000\u0000\u0000\u0bed\u01b9\u0001\u0000\u0000"+
54621 "\u0000\u0bee\u0bec\u0001\u0000\u0000\u0000\u0bef\u0bf1\u0003X,\u0000\u0bf0"+
54622 "\u0bf2\u0003\u01bc\u00de\u0000\u0bf1\u0bf0\u0001\u0000\u0000\u0000\u0bf1"+
54623 "\u0bf2\u0001\u0000\u0000\u0000\u0bf2\u01bb\u0001\u0000\u0000\u0000\u0bf3"+
54624 "\u0bf4\u0005M\u0000\u0000\u0bf4\u0bf5\u0005\u001f\u0000\u0000\u0bf5\u0bfa"+
54625 "\u0003\u01be\u00df\u0000\u0bf6\u0bf7\u0005%\u0000\u0000\u0bf7\u0bf9\u0003"+
54626 "\u01be\u00df\u0000\u0bf8\u0bf6\u0001\u0000\u0000\u0000\u0bf9\u0bfc\u0001"+
54627 "\u0000\u0000\u0000\u0bfa\u0bf8\u0001\u0000\u0000\u0000\u0bfa\u0bfb\u0001"+
54628 "\u0000\u0000\u0000\u0bfb\u0bfd\u0001\u0000\u0000\u0000\u0bfc\u0bfa\u0001"+
54629 "\u0000\u0000\u0000\u0bfd\u0bfe\u0005 \u0000\u0000\u0bfe\u01bd\u0001\u0000"+
54630 "\u0000\u0000\u0bff\u0c00\u0005\u0113\u0000\u0000\u0c00\u0c01\u0005\u0018"+
54631 "\u0000\u0000\u0c01\u0c11\u0005\u02b8\u0000\u0000\u0c02\u0c03\u0005\u0118"+
54632 "\u0000\u0000\u0c03\u0c04\u0005\u0018\u0000\u0000\u0c04\u0c11\u0003\u01c0"+
54633 "\u00e0\u0000\u0c05\u0c06\u0005\u0114\u0000\u0000\u0c06\u0c0e\u0005g\u0000"+
54634 "\u0000\u0c07\u0c08\u00034\u001a\u0000\u0c08\u0c09\u0005\u001f\u0000\u0000"+
54635 "\u0c09\u0c0a\u0003H$\u0000\u0c0a\u0c0b\u0005 \u0000\u0000\u0c0b\u0c0f"+
54636 "\u0001\u0000\u0000\u0000\u0c0c\u0c0f\u0003\u00cae\u0000\u0c0d\u0c0f\u0005"+
54637 "\u02b7\u0000\u0000\u0c0e\u0c07\u0001\u0000\u0000\u0000\u0c0e\u0c0c\u0001"+
54638 "\u0000\u0000\u0000\u0c0e\u0c0d\u0001\u0000\u0000\u0000\u0c0f\u0c11\u0001"+
54639 "\u0000\u0000\u0000\u0c10\u0bff\u0001\u0000\u0000\u0000\u0c10\u0c02\u0001"+
54640 "\u0000\u0000\u0000\u0c10\u0c05\u0001\u0000\u0000\u0000\u0c11\u01bf\u0001"+
54641 "\u0000\u0000\u0000\u0c12\u0c13\u0007\u0000\u0000\u0000\u0c13\u01c1\u0001"+
54642 "\u0000\u0000\u0000\u0c14\u0c16\u0005<\u0000\u0000\u0c15\u0c17\u0003\u00de"+
54643 "o\u0000\u0c16\u0c15\u0001\u0000\u0000\u0000\u0c16\u0c17\u0001\u0000\u0000"+
54644 "\u0000\u0c17\u0c18\u0001\u0000\u0000\u0000\u0c18\u0c1d\u0003H$\u0000\u0c19"+
54645 "\u0c1a\u0005%\u0000\u0000\u0c1a\u0c1c\u0003H$\u0000\u0c1b\u0c19\u0001"+
54646 "\u0000\u0000\u0000\u0c1c\u0c1f\u0001\u0000\u0000\u0000\u0c1d\u0c1b\u0001"+
54647 "\u0000\u0000\u0000\u0c1d\u0c1e\u0001\u0000\u0000\u0000\u0c1e\u01c3\u0001"+
54648 "\u0000\u0000\u0000\u0c1f\u0c1d\u0001\u0000\u0000\u0000\u0c20\u0c22\u0005"+
54649 ">\u0000\u0000\u0c21\u0c23\u0003\u00deo\u0000\u0c22\u0c21\u0001\u0000\u0000"+
54650 "\u0000\u0c22\u0c23\u0001\u0000\u0000\u0000\u0c23\u0c24\u0001\u0000\u0000"+
54651 "\u0000\u0c24\u0c29\u0003V+\u0000\u0c25\u0c26\u0005%\u0000\u0000\u0c26"+
54652 "\u0c28\u0003V+\u0000\u0c27\u0c25\u0001\u0000\u0000\u0000\u0c28\u0c2b\u0001"+
54653 "\u0000\u0000\u0000\u0c29\u0c27\u0001\u0000\u0000\u0000\u0c29\u0c2a\u0001"+
54654 "\u0000\u0000\u0000\u0c2a\u01c5\u0001\u0000\u0000\u0000\u0c2b\u0c29\u0001"+
54655 "\u0000\u0000\u0000\u0c2c\u0c2e\u0005M\u0000\u0000\u0c2d\u0c2c\u0001\u0000"+
54656 "\u0000\u0000\u0c2d\u0c2e\u0001\u0000\u0000\u0000\u0c2e\u0c2f\u0001\u0000"+
54657 "\u0000\u0000\u0c2f\u0c30\u0007\'\u0000\u0000\u0c30\u0c33\u0005?\u0000"+
54658 "\u0000\u0c31\u0c34\u0005r\u0000\u0000\u0c32\u0c34\u0003X,\u0000\u0c33"+
54659 "\u0c31\u0001\u0000\u0000\u0000\u0c33\u0c32\u0001\u0000\u0000\u0000\u0c34"+
54660 "\u01c7\u0001\u0000\u0000\u0000\u0c35\u0c36\u0007(\u0000\u0000\u0c36\u0c39"+
54661 "\u0005G\u0000\u0000\u0c37\u0c3a\u0005r\u0000\u0000\u0c38\u0c3a\u0003\u00cc"+
54662 "f\u0000\u0c39\u0c37\u0001\u0000\u0000\u0000\u0c39\u0c38\u0001\u0000\u0000"+
54663 "\u0000\u0c3a\u01c9\u0001\u0000\u0000\u0000\u0c3b\u0c3e\u0005\u0129\u0000"+
54664 "\u0000\u0c3c\u0c3d\u0005\u00dd\u0000\u0000\u0c3d\u0c3f\u0003b1\u0000\u0c3e"+
54665 "\u0c3c\u0001\u0000\u0000\u0000\u0c3e\u0c3f\u0001\u0000\u0000\u0000\u0c3f"+
54666 "\u0c40\u0001\u0000\u0000\u0000\u0c40\u0c41\u0005g\u0000\u0000\u0c41\u0c44"+
54667 "\u0003@ \u0000\u0c42\u0c43\u0005\u00dd\u0000\u0000\u0c43\u0c45\u0003b"+
54668 "1\u0000\u0c44\u0c42\u0001\u0000\u0000\u0000\u0c44\u0c45\u0001\u0000\u0000"+
54669 "\u0000\u0c45\u0c4b\u0001\u0000\u0000\u0000\u0c46\u0c47\u0005M\u0000\u0000"+
54670 "\u0c47\u0c48\u0005\u001f\u0000\u0000\u0c48\u0c49\u0003\u00c6c\u0000\u0c49"+
54671 "\u0c4a\u0005 \u0000\u0000\u0c4a\u0c4c\u0001\u0000\u0000\u0000\u0c4b\u0c46"+
54672 "\u0001\u0000\u0000\u0000\u0c4b\u0c4c\u0001\u0000\u0000\u0000\u0c4c\u01cb"+
54673 "\u0001\u0000\u0000\u0000\u0c4d\u0c4e\u0005:\u0000\u0000\u0c4e\u0c51\u0005"+
54674 "\u001f\u0000\u0000\u0c4f\u0c52\u0003\u01ce\u00e7\u0000\u0c50\u0c52\u0003"+
54675 "\u01d0\u00e8\u0000\u0c51\u0c4f\u0001\u0000\u0000\u0000\u0c51\u0c50\u0001"+
54676 "\u0000\u0000\u0000\u0c52\u0c53\u0001\u0000\u0000\u0000\u0c53\u0c54\u0005"+
54677 " \u0000\u0000\u0c54\u01cd\u0001\u0000\u0000\u0000\u0c55\u0c56\u0005\u019a"+
54678 "\u0000\u0000\u0c56\u0c5a\u0005\u0018\u0000\u0000\u0c57\u0c5b\u00034\u001a"+
54679 "\u0000\u0c58\u0c5b\u0003\u00cae\u0000\u0c59\u0c5b\u0005\u02b7\u0000\u0000"+
54680 "\u0c5a\u0c57\u0001\u0000\u0000\u0000\u0c5a\u0c58\u0001\u0000\u0000\u0000"+
54681 "\u0c5a\u0c59\u0001\u0000\u0000\u0000\u0c5b\u01cf\u0001\u0000\u0000\u0000"+
54682 "\u0c5c\u0c5d\u0005\u018a\u0000\u0000\u0c5d\u0c63\u0005\u0018\u0000\u0000"+
54683 "\u0c5e\u0c64\u0005b\u0000\u0000\u0c5f\u0c61\u0005a\u0000\u0000\u0c60\u0c62"+
54684 "\u0003\u01d2\u00e9\u0000\u0c61\u0c60\u0001\u0000\u0000\u0000\u0c61\u0c62"+
54685 "\u0001\u0000\u0000\u0000\u0c62\u0c64\u0001\u0000\u0000\u0000\u0c63\u0c5e"+
54686 "\u0001\u0000\u0000\u0000\u0c63\u0c5f\u0001\u0000\u0000\u0000\u0c64\u01d1"+
54687 "\u0001\u0000\u0000\u0000\u0c65\u0c69\u0005\u001f\u0000\u0000\u0c66\u0c67"+
54688 "\u0005\u01a2\u0000\u0000\u0c67\u0c68\u0005\u0018\u0000\u0000\u0c68\u0c6a"+
54689 "\u0003@ \u0000\u0c69\u0c66\u0001\u0000\u0000\u0000\u0c69\u0c6a\u0001\u0000"+
54690 "\u0000\u0000\u0c6a\u0c6c\u0001\u0000\u0000\u0000\u0c6b\u0c6d\u0003\u01d4"+
54691 "\u00ea\u0000\u0c6c\u0c6b\u0001\u0000\u0000\u0000\u0c6c\u0c6d\u0001\u0000"+
54692 "\u0000\u0000\u0c6d\u0c6f\u0001\u0000\u0000\u0000\u0c6e\u0c70\u0003\u01d6"+
54693 "\u00eb\u0000\u0c6f\u0c6e\u0001\u0000\u0000\u0000\u0c6f\u0c70\u0001\u0000"+
54694 "\u0000\u0000\u0c70\u0c71\u0001\u0000\u0000\u0000\u0c71\u0c72\u0005 \u0000"+
54695 "\u0000\u0c72\u01d3\u0001\u0000\u0000\u0000\u0c73\u0c75\u0005%\u0000\u0000"+
54696 "\u0c74\u0c73\u0001\u0000\u0000\u0000\u0c74\u0c75\u0001\u0000\u0000\u0000"+
54697 "\u0c75\u0c76\u0001\u0000\u0000\u0000\u0c76\u0c77\u0005\u0187\u0000\u0000"+
54698 "\u0c77\u0c78\u0005\u0018\u0000\u0000\u0c78\u0c79\u0003\u01c0\u00e0\u0000"+
54699 "\u0c79\u01d5\u0001\u0000\u0000\u0000\u0c7a\u0c7c\u0005%\u0000\u0000\u0c7b"+
54700 "\u0c7a\u0001\u0000\u0000\u0000\u0c7b\u0c7c\u0001\u0000\u0000\u0000\u0c7c"+
54701 "\u0c7d\u0001\u0000\u0000\u0000\u0c7d\u0c7e\u0005\u01a1\u0000\u0000\u0c7e"+
54702 "\u0c7f\u0005\u0018\u0000\u0000\u0c7f\u0c80\u0003\u01d8\u00ec\u0000\u0c80"+
54703 "\u01d7\u0001\u0000\u0000\u0000\u0c81\u0c85\u0005\u0110\u0000\u0000\u0c82"+
54704 "\u0c83\u0005\u02b8\u0000\u0000\u0c83\u0c85\u0007)\u0000\u0000\u0c84\u0c81"+
54705 "\u0001\u0000\u0000\u0000\u0c84\u0c82\u0001\u0000\u0000\u0000\u0c85\u01d9"+
54706 "\u0001\u0000\u0000\u0000\u0c86\u0c89\u0003\u01dc\u00ee\u0000\u0c87\u0c8a"+
54707 "\u0003\u01de\u00ef\u0000\u0c88\u0c8a\u0003\u01e2\u00f1\u0000\u0c89\u0c87"+
54708 "\u0001\u0000\u0000\u0000\u0c89\u0c88\u0001\u0000\u0000\u0000\u0c8a\u01db"+
54709 "\u0001\u0000\u0000\u0000\u0c8b\u0c8c\u0005>\u0000\u0000\u0c8c\u0c8d\u0003"+
54710 "V+\u0000\u0c8d\u01dd\u0001\u0000\u0000\u0000\u0c8e\u0c94\u0005\u00f5\u0000"+
54711 "\u0000\u0c8f\u0c95\u0003\u017c\u00be\u0000\u0c90\u0c92\u0003R)\u0000\u0c91"+
54712 "\u0c93\u0003\u01e0\u00f0\u0000\u0c92\u0c91\u0001\u0000\u0000\u0000\u0c92"+
54713 "\u0c93\u0001\u0000\u0000\u0000\u0c93\u0c95\u0001\u0000\u0000\u0000\u0c94"+
54714 "\u0c8f\u0001\u0000\u0000\u0000\u0c94\u0c90\u0001\u0000\u0000\u0000\u0c95"+
54715 "\u01df\u0001\u0000\u0000\u0000\u0c96\u0c97\u0005a\u0000\u0000\u0c97\u0c9a"+
54716 "\u0003\u00cae\u0000\u0c98\u0c9a\u0005\u009a\u0000\u0000\u0c99\u0c96\u0001"+
54717 "\u0000\u0000\u0000\u0c99\u0c98\u0001\u0000\u0000\u0000\u0c9a\u01e1\u0001"+
54718 "\u0000\u0000\u0000\u0c9b\u0c9c\u0005\u00f4\u0000\u0000\u0c9c\u0ca4\u0005"+
54719 "\u00f7\u0000\u0000\u0c9d\u0c9e\u0005M\u0000\u0000\u0c9e\u0c9f\u0005\u0184"+
54720 "\u0000\u0000\u0c9f\u0ca0\u0005\u0018\u0000\u0000\u0ca0\u0ca2\u0005\u02b8"+
54721 "\u0000\u0000\u0ca1\u0ca3\u0005\u00fe\u0000\u0000\u0ca2\u0ca1\u0001\u0000"+
54722 "\u0000\u0000\u0ca2\u0ca3\u0001\u0000\u0000\u0000\u0ca3\u0ca5\u0001\u0000"+
54723 "\u0000\u0000\u0ca4\u0c9d\u0001\u0000\u0000\u0000\u0ca4\u0ca5\u0001\u0000"+
54724 "\u0000\u0000\u0ca5\u0ca7\u0001\u0000\u0000\u0000\u0ca6\u0ca8\u0003\u0166"+
54725 "\u00b3\u0000\u0ca7\u0ca6\u0001\u0000\u0000\u0000\u0ca7\u0ca8\u0001\u0000"+
54726 "\u0000\u0000\u0ca8\u01e3\u0001\u0000\u0000\u0000\u0ca9\u0caa\u0005:\u0000"+
54727 "\u0000\u0caa\u0cab\u0005\u001f\u0000\u0000\u0cab\u0cac\u0005\u01a3\u0000"+
54728 "\u0000\u0cac\u0cad\u0005\u0018\u0000\u0000\u0cad\u0cae\u0007*\u0000\u0000"+
54729 "\u0cae\u0cbc\u0005 \u0000\u0000\u0caf\u0cb0\u0005\u0196\u0000\u0000\u0cb0"+
54730 "\u0cb1\u0005\u0018\u0000\u0000\u0cb1\u0cbc\u0005a\u0000\u0000\u0cb2\u0cb3"+
54731 "\u0005\u0103\u0000\u0000\u0cb3\u0cb4\u0005\u0018\u0000\u0000\u0cb4\u0cbc"+
54732 "\u0007%\u0000\u0000\u0cb5\u0cb6\u0005\u018a\u0000\u0000\u0cb6\u0cb7\u0005"+
54733 "\u0018\u0000\u0000\u0cb7\u0cb9\u0005a\u0000\u0000\u0cb8\u0cba\u0003\u01e6"+
54734 "\u00f3\u0000\u0cb9\u0cb8\u0001\u0000\u0000\u0000\u0cb9\u0cba\u0001\u0000"+
54735 "\u0000\u0000\u0cba\u0cbc\u0001\u0000\u0000\u0000\u0cbb\u0ca9\u0001\u0000"+
54736 "\u0000\u0000\u0cbb\u0caf\u0001\u0000\u0000\u0000\u0cbb\u0cb2\u0001\u0000"+
54737 "\u0000\u0000\u0cbb\u0cb5\u0001\u0000\u0000\u0000\u0cbc\u01e5\u0001\u0000"+
54738 "\u0000\u0000\u0cbd\u0cbe\u0005\u001f\u0000\u0000\u0cbe\u0cbf\u0005\u01a2"+
54739 "\u0000\u0000\u0cbf\u0cc0\u0005\u0018\u0000\u0000\u0cc0\u0cc5\u0003@ \u0000"+
54740 "\u0cc1\u0cc2\u0005%\u0000\u0000\u0cc2\u0cc3\u0005\u0187\u0000\u0000\u0cc3"+
54741 "\u0cc4\u0005\u0018\u0000\u0000\u0cc4\u0cc6\u0003\u01c0\u00e0\u0000\u0cc5"+
54742 "\u0cc1\u0001\u0000\u0000\u0000\u0cc5\u0cc6\u0001\u0000\u0000\u0000\u0cc6"+
54743 "\u0cc7\u0001\u0000\u0000\u0000\u0cc7\u0cc8\u0005 \u0000\u0000\u0cc8\u01e7"+
54744 "\u0001\u0000\u0000\u0000\u0cc9\u0cca\u0005\u01de\u0000\u0000\u0cca\u0ccb"+
54745 "\u0005\u0018\u0000\u0000\u0ccb\u0ccd\u0007+\u0000\u0000\u0ccc\u0cc9\u0001"+
54746 "\u0000\u0000\u0000\u0ccc\u0ccd\u0001\u0000\u0000\u0000\u0ccd\u0ccf\u0001"+
54747 "\u0000\u0000\u0000\u0cce\u0cd0\u0003\u01ea\u00f5\u0000\u0ccf\u0cce\u0001"+
54748 "\u0000\u0000\u0000\u0ccf\u0cd0\u0001\u0000\u0000\u0000\u0cd0\u0cd3\u0001"+
54749 "\u0000\u0000\u0000\u0cd1\u0cd2\u0005\u00f6\u0000\u0000\u0cd2\u0cd4\u0003"+
54750 "\u00cae\u0000\u0cd3\u0cd1\u0001\u0000\u0000\u0000\u0cd3\u0cd4\u0001\u0000"+
54751 "\u0000\u0000\u0cd4\u0cde\u0001\u0000\u0000\u0000\u0cd5\u0cd6\u0005M\u0000"+
54752 "\u0000\u0cd6\u0cdb\u0003\u01ec\u00f6\u0000\u0cd7\u0cd8\u0005%\u0000\u0000"+
54753 "\u0cd8\u0cda\u0003\u01ec\u00f6\u0000\u0cd9\u0cd7\u0001\u0000\u0000\u0000"+
54754 "\u0cda\u0cdd\u0001\u0000\u0000\u0000\u0cdb\u0cd9\u0001\u0000\u0000\u0000"+
54755 "\u0cdb\u0cdc\u0001\u0000\u0000\u0000\u0cdc\u0cdf\u0001\u0000\u0000\u0000"+
54756 "\u0cdd\u0cdb\u0001\u0000\u0000\u0000\u0cde\u0cd5\u0001\u0000\u0000\u0000"+
54757 "\u0cde\u0cdf\u0001\u0000\u0000\u0000\u0cdf\u01e9\u0001\u0000\u0000\u0000"+
54758 "\u0ce0\u0ce2\u0005a\u0000\u0000\u0ce1\u0ce3\u0005@\u0000\u0000\u0ce2\u0ce1"+
54759 "\u0001\u0000\u0000\u0000\u0ce2\u0ce3\u0001\u0000\u0000\u0000\u0ce3\u0ce4"+
54760 "\u0001\u0000\u0000\u0000\u0ce4\u0ce9\u0003\u01f0\u00f8\u0000\u0ce5\u0ce6"+
54761 "\u0005%\u0000\u0000\u0ce6\u0ce8\u0003\u01f0\u00f8\u0000\u0ce7\u0ce5\u0001"+
54762 "\u0000\u0000\u0000\u0ce8\u0ceb\u0001\u0000\u0000\u0000\u0ce9\u0ce7\u0001"+
54763 "\u0000\u0000\u0000\u0ce9\u0cea\u0001\u0000\u0000\u0000\u0cea\u0cf0\u0001"+
54764 "\u0000\u0000\u0000\u0ceb\u0ce9\u0001\u0000\u0000\u0000\u0cec\u0ced\u0005"+
54765 "%\u0000\u0000\u0ced\u0cef\u0003\u01f4\u00fa\u0000\u0cee\u0cec\u0001\u0000"+
54766 "\u0000\u0000\u0cef\u0cf2\u0001\u0000\u0000\u0000\u0cf0\u0cee\u0001\u0000"+
54767 "\u0000\u0000\u0cf0\u0cf1\u0001\u0000\u0000\u0000\u0cf1\u0cf3\u0001\u0000"+
54768 "\u0000\u0000\u0cf2\u0cf0\u0001\u0000\u0000\u0000\u0cf3\u0cf4\u0003\u01f8"+
54769 "\u00fc\u0000\u0cf4\u01eb\u0001\u0000\u0000\u0000\u0cf5\u0cf6\u0005\u0106"+
54770 "\u0000\u0000\u0cf6\u0cfb\u0003\u01ee\u00f7\u0000\u0cf7\u0cf8\u0005%\u0000"+
54771 "\u0000\u0cf8\u0cfa\u0003\u01ee\u00f7\u0000\u0cf9\u0cf7\u0001\u0000\u0000"+
54772 "\u0000\u0cfa\u0cfd\u0001\u0000\u0000\u0000\u0cfb\u0cf9\u0001\u0000\u0000"+
54773 "\u0000\u0cfb\u0cfc\u0001\u0000\u0000\u0000\u0cfc\u0d18\u0001\u0000\u0000"+
54774 "\u0000\u0cfd\u0cfb\u0001\u0000\u0000\u0000\u0cfe\u0cff\u0005\u0278\u0000"+
54775 "\u0000\u0cff\u0d00\u0005\u0018\u0000\u0000\u0d00\u0d18\u0003\u00cae\u0000"+
54776 "\u0d01\u0d02\u0005\u0279\u0000\u0000\u0d02\u0d03\u0005\u0018\u0000\u0000"+
54777 "\u0d03\u0d18\u0003\u00cae\u0000\u0d04\u0d05\u0005\u027b\u0000\u0000\u0d05"+
54778 "\u0d06\u0005\u0018\u0000\u0000\u0d06\u0d18\u0007\u0000\u0000\u0000\u0d07"+
54779 "\u0d08\u0005\u027c\u0000\u0000\u0d08\u0d09\u0005\u0018\u0000\u0000\u0d09"+
54780 "\u0d18\u0007\u0000\u0000\u0000\u0d0a\u0d0b\u0005\u027d\u0000\u0000\u0d0b"+
54781 "\u0d0c\u0005\u0018\u0000\u0000\u0d0c\u0d18\u0003\u00cae\u0000\u0d0d\u0d0e"+
54782 "\u0005\u01ed\u0000\u0000\u0d0e\u0d18\u0007\u0000\u0000\u0000\u0d0f\u0d10"+
54783 "\u0005\u01ee\u0000\u0000\u0d10\u0d18\u0007\u0000\u0000\u0000\u0d11\u0d12"+
54784 "\u0005\u027e\u0000\u0000\u0d12\u0d13\u0005\u0018\u0000\u0000\u0d13\u0d14"+
54785 "\u0005a\u0000\u0000\u0d14\u0d15\u0005\u027f\u0000\u0000\u0d15\u0d16\u0005"+
54786 "\u0018\u0000\u0000\u0d16\u0d18\u0003\u00cae\u0000\u0d17\u0cf5\u0001\u0000"+
54787 "\u0000\u0000\u0d17\u0cfe\u0001\u0000\u0000\u0000\u0d17\u0d01\u0001\u0000"+
54788 "\u0000\u0000\u0d17\u0d04\u0001\u0000\u0000\u0000\u0d17\u0d07\u0001\u0000"+
54789 "\u0000\u0000\u0d17\u0d0a\u0001\u0000\u0000\u0000\u0d17\u0d0d\u0001\u0000"+
54790 "\u0000\u0000\u0d17\u0d0f\u0001\u0000\u0000\u0000\u0d17\u0d11\u0001\u0000"+
54791 "\u0000\u0000\u0d18\u01ed\u0001\u0000\u0000\u0000\u0d19\u0d1a\u0005\u01ec"+
54792 "\u0000\u0000\u0d1a\u0d1b\u0005\u0018\u0000\u0000\u0d1b\u0d20\u0007,\u0000"+
54793 "\u0000\u0d1c\u0d1d\u0005\u027f\u0000\u0000\u0d1d\u0d1e\u0005\u0018\u0000"+
54794 "\u0000\u0d1e\u0d20\u0003\u00cae\u0000\u0d1f\u0d19\u0001\u0000\u0000\u0000"+
54795 "\u0d1f\u0d1c\u0001\u0000\u0000\u0000\u0d20\u01ef\u0001\u0000\u0000\u0000"+
54796 "\u0d21\u0d22\u0005\u001f\u0000\u0000\u0d22\u0d23\u0005\u00aa\u0000\u0000"+
54797 "\u0d23\u0d24\u0005\u0018\u0000\u0000\u0d24\u0d25\u0003\u00cae\u0000\u0d25"+
54798 "\u0d26\u0005%\u0000\u0000\u0d26\u0d27\u0005\u01e0\u0000\u0000\u0d27\u0d28"+
54799 "\u0005\u0018\u0000\u0000\u0d28\u0d29\u0005\u02b7\u0000\u0000\u0d29\u0d2a"+
54800 "\u0003\u01f2\u00f9\u0000\u0d2a\u0d2b\u0005 \u0000\u0000\u0d2b\u01f1\u0001"+
54801 "\u0000\u0000\u0000\u0d2c\u0d2d\u0005%\u0000\u0000\u0d2d\u0d2e\u0005\u01e1"+
54802 "\u0000\u0000\u0d2e\u0d2f\u0005\u0018\u0000\u0000\u0d2f\u0d31\u0003\u001e"+
54803 "\u000f\u0000\u0d30\u0d32\u0007-\u0000\u0000\u0d31\u0d30\u0001\u0000\u0000"+
54804 "\u0000\u0d31\u0d32\u0001\u0000\u0000\u0000\u0d32\u0d34\u0001\u0000\u0000"+
54805 "\u0000\u0d33\u0d2c\u0001\u0000\u0000\u0000\u0d33\u0d34\u0001\u0000\u0000"+
54806 "\u0000\u0d34\u0d3f\u0001\u0000\u0000\u0000\u0d35\u0d36\u0005%\u0000\u0000"+
54807 "\u0d36\u0d37\u0005\u01e2\u0000\u0000\u0d37\u0d3d\u0005\u0018\u0000\u0000"+
54808 "\u0d38\u0d3a\u0003\u001e\u000f\u0000\u0d39\u0d3b\u0007-\u0000\u0000\u0d3a"+
54809 "\u0d39\u0001\u0000\u0000\u0000\u0d3a\u0d3b\u0001\u0000\u0000\u0000\u0d3b"+
54810 "\u0d3e\u0001\u0000\u0000\u0000\u0d3c\u0d3e\u0005\u01e4\u0000\u0000\u0d3d"+
54811 "\u0d38\u0001\u0000\u0000\u0000\u0d3d\u0d3c\u0001\u0000\u0000\u0000\u0d3e"+
54812 "\u0d40\u0001\u0000\u0000\u0000\u0d3f\u0d35\u0001\u0000\u0000\u0000\u0d3f"+
54813 "\u0d40\u0001\u0000\u0000\u0000\u0d40\u0d48\u0001\u0000\u0000\u0000\u0d41"+
54814 "\u0d42\u0005%\u0000\u0000\u0d42\u0d43\u0005\u01e3\u0000\u0000\u0d43\u0d44"+
54815 "\u0005\u0018\u0000\u0000\u0d44\u0d46\u0003\u001e\u000f\u0000\u0d45\u0d47"+
54816 "\u0007.\u0000\u0000\u0d46\u0d45\u0001\u0000\u0000\u0000\u0d46\u0d47\u0001"+
54817 "\u0000\u0000\u0000\u0d47\u0d49\u0001\u0000\u0000\u0000\u0d48\u0d41\u0001"+
54818 "\u0000\u0000\u0000\u0d48\u0d49\u0001\u0000\u0000\u0000\u0d49\u01f3\u0001"+
54819 "\u0000\u0000\u0000\u0d4a\u0d4b\u0005\u01eb\u0000\u0000\u0d4b\u0d4d\u0003"+
54820 "\u00cae\u0000\u0d4c\u0d4e\u0003\u01f6\u00fb\u0000\u0d4d\u0d4c\u0001\u0000"+
54821 "\u0000\u0000\u0d4d\u0d4e\u0001\u0000\u0000\u0000\u0d4e\u0d4f\u0001\u0000"+
54822 "\u0000\u0000\u0d4f\u0d54\u0003\u01f0\u00f8\u0000\u0d50\u0d51\u0005%\u0000"+
54823 "\u0000\u0d51\u0d53\u0003\u01f0\u00f8\u0000\u0d52\u0d50\u0001\u0000\u0000"+
54824 "\u0000\u0d53\u0d56\u0001\u0000\u0000\u0000\u0d54\u0d52\u0001\u0000\u0000"+
54825 "\u0000\u0d54\u0d55\u0001\u0000\u0000\u0000\u0d55\u01f5\u0001\u0000\u0000"+
54826 "\u0000\u0d56\u0d54\u0001\u0000\u0000\u0000\u0d57\u0d58\u0005\u01e9\u0000"+
54827 "\u0000\u0d58\u0d5a\u0005\u0106\u0000\u0000\u0d59\u0d57\u0001\u0000\u0000"+
54828 "\u0000\u0d59\u0d5a\u0001\u0000\u0000\u0000\u0d5a\u0d5c\u0001\u0000\u0000"+
54829 "\u0000\u0d5b\u0d5d\u0005\u009a\u0000\u0000\u0d5c\u0d5b\u0001\u0000\u0000"+
54830 "\u0000\u0d5c\u0d5d\u0001\u0000\u0000\u0000\u0d5d\u0d61\u0001\u0000\u0000"+
54831 "\u0000\u0d5e\u0d5f\u0005\u01e9\u0000\u0000\u0d5f\u0d61\u0005\u01ea\u0000"+
54832 "\u0000\u0d60\u0d59\u0001\u0000\u0000\u0000\u0d60\u0d5e\u0001\u0000\u0000"+
54833 "\u0000\u0d61\u01f7\u0001\u0000\u0000\u0000\u0d62\u0d63\u0005\u0175\u0000"+
54834 "\u0000\u0d63\u0d64\u0005a\u0000\u0000\u0d64\u0d69\u0003\u01f0\u00f8\u0000"+
54835 "\u0d65\u0d66\u0005%\u0000\u0000\u0d66\u0d68\u0003\u01f0\u00f8\u0000\u0d67"+
54836 "\u0d65\u0001\u0000\u0000\u0000\u0d68\u0d6b\u0001\u0000\u0000\u0000\u0d69"+
54837 "\u0d67\u0001\u0000\u0000\u0000\u0d69\u0d6a\u0001\u0000\u0000\u0000\u0d6a"+
54838 "\u0d6d\u0001\u0000\u0000\u0000\u0d6b\u0d69\u0001\u0000\u0000\u0000\u0d6c"+
54839 "\u0d62\u0001\u0000\u0000\u0000\u0d6c\u0d6d\u0001\u0000\u0000\u0000\u0d6d"+
54840 "\u01f9\u0001\u0000\u0000\u0000\u0d6e\u0d78\u0005\u00cd\u0000\u0000\u0d6f"+
54841 "\u0d74\u0003\u01fc\u00fe\u0000\u0d70\u0d71\u0005%\u0000\u0000\u0d71\u0d73"+
54842 "\u0003\u01fc\u00fe\u0000\u0d72\u0d70\u0001\u0000\u0000\u0000\u0d73\u0d76"+
54843 "\u0001\u0000\u0000\u0000\u0d74\u0d72\u0001\u0000\u0000\u0000\u0d74\u0d75"+
54844 "\u0001\u0000\u0000\u0000\u0d75\u0d79\u0001\u0000\u0000\u0000\u0d76\u0d74"+
54845 "\u0001\u0000\u0000\u0000\u0d77\u0d79\u0003\u01fe\u00ff\u0000\u0d78\u0d6f"+
54846 "\u0001\u0000\u0000\u0000\u0d78\u0d77\u0001\u0000\u0000\u0000\u0d79\u01fb"+
54847 "\u0001\u0000\u0000\u0000\u0d7a\u0d7c\u0003\u00d0h\u0000\u0d7b\u0d7d\u0005"+
54848 "`\u0000\u0000\u0d7c\u0d7b\u0001\u0000\u0000\u0000\u0d7c\u0d7d\u0001\u0000"+
54849 "\u0000\u0000\u0d7d\u0d7e\u0001\u0000\u0000\u0000\u0d7e\u0d81\u0003\u0094"+
54850 "J\u0000\u0d7f\u0d80\u0005\u0018\u0000\u0000\u0d80\u0d82\u0003r9\u0000"+
54851 "\u0d81\u0d7f\u0001\u0000\u0000\u0000\u0d81\u0d82\u0001\u0000\u0000\u0000"+
54852 "\u0d82\u0d87\u0001\u0000\u0000\u0000\u0d83\u0d84\u0003\u00d0h\u0000\u0d84"+
54853 "\u0d85\u0005\u00ce\u0000\u0000\u0d85\u0d87\u0001\u0000\u0000\u0000\u0d86"+
54854 "\u0d7a\u0001\u0000\u0000\u0000\u0d86\u0d83\u0001\u0000\u0000\u0000\u0d87"+
54855 "\u01fd\u0001\u0000\u0000\u0000\u0d88\u0d8a\u0003\u00d0h\u0000\u0d89\u0d8b"+
54856 "\u0005`\u0000\u0000\u0d8a\u0d89\u0001\u0000\u0000\u0000\u0d8a\u0d8b\u0001"+
54857 "\u0000\u0000\u0000\u0d8b\u0d8c\u0001\u0000\u0000\u0000\u0d8c\u0d8d\u0003"+
54858 "\u0200\u0100\u0000\u0d8d\u01ff\u0001\u0000\u0000\u0000\u0d8e\u0d8f\u0005"+
54859 ";\u0000\u0000\u0d8f\u0d90\u0005\u001f\u0000\u0000\u0d90\u0d95\u0003\u0202"+
54860 "\u0101\u0000\u0d91\u0d92\u0005%\u0000\u0000\u0d92\u0d94\u0003\u0202\u0101"+
54861 "\u0000\u0d93\u0d91\u0001\u0000\u0000\u0000\u0d94\u0d97\u0001\u0000\u0000"+
54862 "\u0000\u0d95\u0d93\u0001\u0000\u0000\u0000\u0d95\u0d96\u0001\u0000\u0000"+
54863 "\u0000\u0d96\u0d98\u0001\u0000\u0000\u0000\u0d97\u0d95\u0001\u0000\u0000"+
54864 "\u0000\u0d98\u0d99\u0005 \u0000\u0000\u0d99\u0201\u0001\u0000\u0000\u0000"+
54865 "\u0d9a\u0d9d\u0003\u0204\u0102\u0000\u0d9b\u0d9d\u0003\u0208\u0104\u0000"+
54866 "\u0d9c\u0d9a\u0001\u0000\u0000\u0000\u0d9c\u0d9b\u0001\u0000\u0000\u0000"+
54867 "\u0d9d\u0203\u0001\u0000\u0000\u0000\u0d9e\u0da2\u0003H$\u0000\u0d9f\u0da3"+
54868 "\u0003\u0096K\u0000\u0da0\u0da1\u0005`\u0000\u0000\u0da1\u0da3\u0003b"+
54869 "1\u0000\u0da2\u0d9f\u0001\u0000\u0000\u0000\u0da2\u0da0\u0001\u0000\u0000"+
54870 "\u0000\u0da3\u0da6\u0001\u0000\u0000\u0000\u0da4\u0da5\u0005\u00f6\u0000"+
54871 "\u0000\u0da5\u0da7\u0003Z-\u0000\u0da6\u0da4\u0001\u0000\u0000\u0000\u0da6"+
54872 "\u0da7\u0001\u0000\u0000\u0000\u0da7\u0db4\u0001\u0000\u0000\u0000\u0da8"+
54873 "\u0da9\u0005\u009a\u0000\u0000\u0da9\u0dab\u0003b1\u0000\u0daa\u0da8\u0001"+
54874 "\u0000\u0000\u0000\u0daa\u0dab\u0001\u0000\u0000\u0000\u0dab\u0db5\u0001"+
54875 "\u0000\u0000\u0000\u0dac\u0db2\u0005\u010c\u0000\u0000\u0dad\u0dae\u0005"+
54876 "\u001f\u0000\u0000\u0dae\u0daf\u0005\u02b8\u0000\u0000\u0daf\u0db0\u0005"+
54877 "%\u0000\u0000\u0db0\u0db1\u0005\u02b8\u0000\u0000\u0db1\u0db3\u0005 \u0000"+
54878 "\u0000\u0db2\u0dad\u0001\u0000\u0000\u0000\u0db2\u0db3\u0001\u0000\u0000"+
54879 "\u0000\u0db3\u0db5\u0001\u0000\u0000\u0000\u0db4\u0daa\u0001\u0000\u0000"+
54880 "\u0000\u0db4\u0dac\u0001\u0000\u0000\u0000\u0db5\u0db7\u0001\u0000\u0000"+
54881 "\u0000\u0db6\u0db8\u0005\u0125\u0000\u0000\u0db7\u0db6\u0001\u0000\u0000"+
54882 "\u0000\u0db7\u0db8\u0001\u0000\u0000\u0000\u0db8\u0db9\u0001\u0000\u0000"+
54883 "\u0000\u0db9\u0dba\u0003\u0206\u0103\u0000\u0dba\u0205\u0001\u0000\u0000"+
54884 "\u0000\u0dbb\u0dbf\u0005l\u0000\u0000\u0dbc\u0dbd\u0005k\u0000\u0000\u0dbd"+
54885 "\u0dbf\u0005l\u0000\u0000\u0dbe\u0dbb\u0001\u0000\u0000\u0000\u0dbe\u0dbc"+
54886 "\u0001\u0000\u0000\u0000\u0dbe\u0dbf\u0001\u0000\u0000\u0000\u0dbf\u0dcd"+
54887 "\u0001\u0000\u0000\u0000\u0dc0\u0dc1\u0005@\u0000\u0000\u0dc1\u0dc4\u0005"+
54888 "C\u0000\u0000\u0dc2\u0dc4\u0005A\u0000\u0000\u0dc3\u0dc0\u0001\u0000\u0000"+
54889 "\u0000\u0dc3\u0dc2\u0001\u0000\u0000\u0000\u0dc3\u0dc4\u0001\u0000\u0000"+
54890 "\u0000\u0dc4\u0dcd\u0001\u0000\u0000\u0000\u0dc5\u0dc6\u0005\u00e6\u0000"+
54891 "\u0000\u0dc6\u0dc7\u0005\u001f\u0000\u0000\u0dc7\u0dc8\u0003b1\u0000\u0dc8"+
54892 "\u0dc9\u0005 \u0000\u0000\u0dc9\u0dcd\u0001\u0000\u0000\u0000\u0dca\u0dcb"+
54893 "\u0005M\u0000\u0000\u0dcb\u0dcd\u0003\u00b2Y\u0000\u0dcc\u0dbe\u0001\u0000"+
54894 "\u0000\u0000\u0dcc\u0dc3\u0001\u0000\u0000\u0000\u0dcc\u0dc5\u0001\u0000"+
54895 "\u0000\u0000\u0dcc\u0dca\u0001\u0000\u0000\u0000\u0dcd\u0207\u0001\u0000"+
54896 "\u0000\u0000\u0dce\u0dcf\u0005@\u0000\u0000\u0dcf\u0dd2\u0005C\u0000\u0000"+
54897 "\u0dd0\u0dd2\u0005A\u0000\u0000\u0dd1\u0dce\u0001\u0000\u0000\u0000\u0dd1"+
54898 "\u0dd0\u0001\u0000\u0000\u0000\u0dd2\u0dd3\u0001\u0000\u0000\u0000\u0dd3"+
54899 "\u0dd4\u0005\u001f\u0000\u0000\u0dd4\u0dd9\u0003H$\u0000\u0dd5\u0dd6\u0005"+
54900 "%\u0000\u0000\u0dd6\u0dd8\u0003H$\u0000\u0dd7\u0dd5\u0001\u0000\u0000"+
54901 "\u0000\u0dd8\u0ddb\u0001\u0000\u0000\u0000\u0dd9\u0dd7\u0001\u0000\u0000"+
54902 "\u0000\u0dd9\u0dda\u0001\u0000\u0000\u0000\u0dda\u0ddc\u0001\u0000\u0000"+
54903 "\u0000\u0ddb\u0dd9\u0001\u0000\u0000\u0000\u0ddc\u0ddd\u0005 \u0000\u0000"+
54904 "\u0ddd\u0de1\u0001\u0000\u0000\u0000\u0dde\u0ddf\u0005\u00e6\u0000\u0000"+
54905 "\u0ddf\u0de1\u0003b1\u0000\u0de0\u0dd1\u0001\u0000\u0000\u0000\u0de0\u0dde"+
54906 "\u0001\u0000\u0000\u0000\u0de1\u0209\u0001\u0000\u0000\u0000\u0de2\u0de3"+
54907 "\u0005:\u0000\u0000\u0de3\u0de4\u0003\u00d0h\u0000\u0de4\u0de5\u0003\u020c"+
54908 "\u0106\u0000\u0de5\u020b\u0001\u0000\u0000\u0000\u0de6\u0de7\u0005\u0014"+
54909 "\u0000\u0000\u0de7\u0de9\u0003*\u0015\u0000\u0de8\u0de6\u0001\u0000\u0000"+
54910 "\u0000\u0de8\u0de9\u0001\u0000\u0000\u0000\u0de9\u0dea\u0001\u0000\u0000"+
54911 "\u0000\u0dea\u0df1\u0005\u0018\u0000\u0000\u0deb\u0df2\u0003b1\u0000\u0dec"+
54912 "\u0ded\u0003*\u0015\u0000\u0ded\u0dee\u0005\u0014\u0000\u0000\u0dee\u0def"+
54913 "\u0003*\u0015\u0000\u0def\u0df2\u0001\u0000\u0000\u0000\u0df0\u0df2\u0005"+
54914 "\u02be\u0000\u0000\u0df1\u0deb\u0001\u0000\u0000\u0000\u0df1\u0dec\u0001"+
54915 "\u0000\u0000\u0000\u0df1\u0df0\u0001\u0000\u0000\u0000\u0df2\u0dfe\u0001"+
54916 "\u0000\u0000\u0000\u0df3\u0df4\u0003\u0212\u0109\u0000\u0df4\u0df5\u0003"+
54917 "b1\u0000\u0df5\u0dfe\u0001\u0000\u0000\u0000\u0df6\u0df7\u0005\u0018\u0000"+
54918 "\u0000\u0df7\u0dfe\u0003\u020e\u0107\u0000\u0df8\u0df9\u0005\u0018\u0000"+
54919 "\u0000\u0df9\u0dfa\u0005\u001f\u0000\u0000\u0dfa\u0dfb\u0003\u02bc\u015e"+
54920 "\u0000\u0dfb\u0dfc\u0005 \u0000\u0000\u0dfc\u0dfe\u0001\u0000\u0000\u0000"+
54921 "\u0dfd\u0de8\u0001\u0000\u0000\u0000\u0dfd\u0df3\u0001\u0000\u0000\u0000"+
54922 "\u0dfd\u0df6\u0001\u0000\u0000\u0000\u0dfd\u0df8\u0001\u0000\u0000\u0000"+
54923 "\u0dfe\u020d\u0001\u0000\u0000\u0000\u0dff\u0e13\u0003\u00d0h\u0000\u0e00"+
54924 "\u0e01\u0005\u00ce\u0000\u0000\u0e01\u0e02\u0003\u0210\u0108\u0000\u0e02"+
54925 "\u0e03\u0005f\u0000\u0000\u0e03\u0e04\u0003\u02bc\u015e\u0000\u0e04\u0e10"+
54926 "\u0005f\u0000\u0000\u0e05\u0e11\u0005\u00cb\u0000\u0000\u0e06\u0e07\u0005"+
54927 "0\u0000\u0000\u0e07\u0e08\u0005\u00cf\u0000\u0000\u0e08\u0e0d\u0003N\'"+
54928 "\u0000\u0e09\u0e0a\u0005%\u0000\u0000\u0e0a\u0e0c\u0003N\'\u0000\u0e0b"+
54929 "\u0e09\u0001\u0000\u0000\u0000\u0e0c\u0e0f\u0001\u0000\u0000\u0000\u0e0d"+
54930 "\u0e0b\u0001\u0000\u0000\u0000\u0e0d\u0e0e\u0001\u0000\u0000\u0000\u0e0e"+
54931 "\u0e11\u0001\u0000\u0000\u0000\u0e0f\u0e0d\u0001\u0000\u0000\u0000\u0e10"+
54932 "\u0e05\u0001\u0000\u0000\u0000\u0e10\u0e06\u0001\u0000\u0000\u0000\u0e11"+
54933 "\u0e13\u0001\u0000\u0000\u0000\u0e12\u0dff\u0001\u0000\u0000\u0000\u0e12"+
54934 "\u0e00\u0001\u0000\u0000\u0000\u0e13\u020f\u0001\u0000\u0000\u0000\u0e14"+
54935 "\u0e16\u0007/\u0000\u0000\u0e15\u0e14\u0001\u0000\u0000\u0000\u0e15\u0e16"+
54936 "\u0001\u0000\u0000\u0000\u0e16\u0e18\u0001\u0000\u0000\u0000\u0e17\u0e19"+
54937 "\u00070\u0000\u0000\u0e18\u0e17\u0001\u0000\u0000\u0000\u0e18\u0e19\u0001"+
54938 "\u0000\u0000\u0000\u0e19\u0e1b\u0001\u0000\u0000\u0000\u0e1a\u0e1c\u0007"+
54939 "1\u0000\u0000\u0e1b\u0e1a\u0001\u0000\u0000\u0000\u0e1b\u0e1c\u0001\u0000"+
54940 "\u0000\u0000\u0e1c\u0e1e\u0001\u0000\u0000\u0000\u0e1d\u0e1f\u0005\u01f7"+
54941 "\u0000\u0000\u0e1e\u0e1d\u0001\u0000\u0000\u0000\u0e1e\u0e1f\u0001\u0000"+
54942 "\u0000\u0000\u0e1f\u0211\u0001\u0000\u0000\u0000\u0e20\u0e21\u0005\u000f"+
54943 "\u0000\u0000\u0e21\u0e31\u0005\u0018\u0000\u0000\u0e22\u0e23\u0005\u0010"+
54944 "\u0000\u0000\u0e23\u0e31\u0005\u0018\u0000\u0000\u0e24\u0e25\u0005\u0011"+
54945 "\u0000\u0000\u0e25\u0e31\u0005\u0018\u0000\u0000\u0e26\u0e27\u0005\u0012"+
54946 "\u0000\u0000\u0e27\u0e31\u0005\u0018\u0000\u0000\u0e28\u0e29\u0005\r\u0000"+
54947 "\u0000\u0e29\u0e31\u0005\u0018\u0000\u0000\u0e2a\u0e2b\u0005\t\u0000\u0000"+
54948 "\u0e2b\u0e31\u0005\u0018\u0000\u0000\u0e2c\u0e2d\u0005\f\u0000\u0000\u0e2d"+
54949 "\u0e31\u0005\u0018\u0000\u0000\u0e2e\u0e2f\u0005\b\u0000\u0000\u0e2f\u0e31"+
54950 "\u0005\u0018\u0000\u0000\u0e30\u0e20\u0001\u0000\u0000\u0000\u0e30\u0e22"+
54951 "\u0001\u0000\u0000\u0000\u0e30\u0e24\u0001\u0000\u0000\u0000\u0e30\u0e26"+
54952 "\u0001\u0000\u0000\u0000\u0e30\u0e28\u0001\u0000\u0000\u0000\u0e30\u0e2a"+
54953 "\u0001\u0000\u0000\u0000\u0e30\u0e2c\u0001\u0000\u0000\u0000\u0e30\u0e2e"+
54954 "\u0001\u0000\u0000\u0000\u0e31\u0213\u0001\u0000\u0000\u0000\u0e32\u0e46"+
54955 "\u0005\u001f\u0000\u0000\u0e33\u0e35\u0003\u00d0h\u0000\u0e34\u0e36\u0005"+
54956 "`\u0000\u0000\u0e35\u0e34\u0001\u0000\u0000\u0000\u0e35\u0e36\u0001\u0000"+
54957 "\u0000\u0000\u0e36\u0e3a\u0001\u0000\u0000\u0000\u0e37\u0e38\u0003L&\u0000"+
54958 "\u0e38\u0e39\u0005\u0014\u0000\u0000\u0e39\u0e3b\u0001\u0000\u0000\u0000"+
54959 "\u0e3a\u0e37\u0001\u0000\u0000\u0000\u0e3a\u0e3b\u0001\u0000\u0000\u0000"+
54960 "\u0e3b\u0e3c\u0001\u0000\u0000\u0000\u0e3c\u0e3f\u0003\u0094J\u0000\u0e3d"+
54961 "\u0e3e\u0005\u0018\u0000\u0000\u0e3e\u0e40\u0003\u00cae\u0000\u0e3f\u0e3d"+
54962 "\u0001\u0000\u0000\u0000\u0e3f\u0e40\u0001\u0000\u0000\u0000\u0e40\u0e42"+
54963 "\u0001\u0000\u0000\u0000\u0e41\u0e43\u0005\u00d3\u0000\u0000\u0e42\u0e41"+
54964 "\u0001\u0000\u0000\u0000\u0e42\u0e43\u0001\u0000\u0000\u0000\u0e43\u0e45"+
54965 "\u0001\u0000\u0000\u0000\u0e44\u0e33\u0001\u0000\u0000\u0000\u0e45\u0e48"+
54966 "\u0001\u0000\u0000\u0000\u0e46\u0e44\u0001\u0000\u0000\u0000\u0e46\u0e47"+
54967 "\u0001\u0000\u0000\u0000\u0e47\u0e49\u0001\u0000\u0000\u0000\u0e48\u0e46"+
54968 "\u0001\u0000\u0000\u0000\u0e49\u0e4a\u0005 \u0000\u0000\u0e4a\u0215\u0001"+
54969 "\u0000\u0000\u0000\u0e4b\u0e4f\u0003\u021c\u010e\u0000\u0e4c\u0e4f\u0003"+
54970 "\u021a\u010d\u0000\u0e4d\u0e4f\u0003\u0218\u010c\u0000\u0e4e\u0e4b\u0001"+
54971 "\u0000\u0000\u0000\u0e4e\u0e4c\u0001\u0000\u0000\u0000\u0e4e\u0e4d\u0001"+
54972 "\u0000\u0000\u0000\u0e4f\u0217\u0001\u0000\u0000\u0000\u0e50\u0e51\u0005"+
54973 "\u00d0\u0000\u0000\u0e51\u0e52\u0003\u00d0h\u0000\u0e52\u0e53\u0005;\u0000"+
54974 "\u0000\u0e53\u0e5d\u0003\u0134\u009a\u0000\u0e54\u0e55\u0005M\u0000\u0000"+
54975 "\u0e55\u0e5a\u0003\u0222\u0111\u0000\u0e56\u0e57\u0005%\u0000\u0000\u0e57"+
54976 "\u0e59\u0003\u0222\u0111\u0000\u0e58\u0e56\u0001\u0000\u0000\u0000\u0e59"+
54977 "\u0e5c\u0001\u0000\u0000\u0000\u0e5a\u0e58\u0001\u0000\u0000\u0000\u0e5a"+
54978 "\u0e5b\u0001\u0000\u0000\u0000\u0e5b\u0e5e\u0001\u0000\u0000\u0000\u0e5c"+
54979 "\u0e5a\u0001\u0000\u0000\u0000\u0e5d\u0e54\u0001\u0000\u0000\u0000\u0e5d"+
54980 "\u0e5e\u0001\u0000\u0000\u0000\u0e5e\u0e60\u0001\u0000\u0000\u0000\u0e5f"+
54981 "\u0e61\u0005`\u0000\u0000\u0e60\u0e5f\u0001\u0000\u0000\u0000\u0e60\u0e61"+
54982 "\u0001\u0000\u0000\u0000\u0e61\u0e62\u0001\u0000\u0000\u0000\u0e62\u0e63"+
54983 "\u0005}\u0000\u0000\u0e63\u0e64\u0003\u0220\u0110\u0000\u0e64\u0e65\u0005"+
54984 "\u00d2\u0000\u0000\u0e65\u0e66\u0005\u0105\u0000\u0000\u0e66\u0219\u0001"+
54985 "\u0000\u0000\u0000\u0e67\u0e68\u0005\u00d0\u0000\u0000\u0e68\u0e72\u0005"+
54986 ";\u0000\u0000\u0e69\u0e6a\u0005M\u0000\u0000\u0e6a\u0e6f\u0003\u0222\u0111"+
54987 "\u0000\u0e6b\u0e6c\u0005%\u0000\u0000\u0e6c\u0e6e\u0003\u0222\u0111\u0000"+
54988 "\u0e6d\u0e6b\u0001\u0000\u0000\u0000\u0e6e\u0e71\u0001\u0000\u0000\u0000"+
54989 "\u0e6f\u0e6d\u0001\u0000\u0000\u0000\u0e6f\u0e70\u0001\u0000\u0000\u0000"+
54990 "\u0e70\u0e73\u0001\u0000\u0000\u0000\u0e71\u0e6f\u0001\u0000\u0000\u0000"+
54991 "\u0e72\u0e69\u0001\u0000\u0000\u0000\u0e72\u0e73\u0001\u0000\u0000\u0000"+
54992 "\u0e73\u0e75\u0001\u0000\u0000\u0000\u0e74\u0e76\u0005`\u0000\u0000\u0e75"+
54993 "\u0e74\u0001\u0000\u0000\u0000\u0e75\u0e76\u0001\u0000\u0000\u0000\u0e76"+
54994 "\u0e77\u0001\u0000\u0000\u0000\u0e77\u0e79\u0005\u00d2\u0000\u0000\u0e78"+
54995 "\u0e7a\u0005\u001f\u0000\u0000\u0e79\u0e78\u0001\u0000\u0000\u0000\u0e79"+
54996 "\u0e7a\u0001\u0000\u0000\u0000\u0e7a\u0e7b\u0001\u0000\u0000\u0000\u0e7b"+
54997 "\u0e7d\u0003\u02bc\u015e\u0000\u0e7c\u0e7e\u0005 \u0000\u0000\u0e7d\u0e7c"+
54998 "\u0001\u0000\u0000\u0000\u0e7d\u0e7e\u0001\u0000\u0000\u0000\u0e7e\u021b"+
54999 "\u0001\u0000\u0000\u0000\u0e7f\u0e80\u0005\u00d0\u0000\u0000\u0e80\u0e8a"+
55000 "\u0003\u0094J\u0000\u0e81\u0e82\u0005M\u0000\u0000\u0e82\u0e87\u0003\u0222"+
55001 "\u0111\u0000\u0e83\u0e84\u0005%\u0000\u0000\u0e84\u0e86\u0003\u0222\u0111"+
55002 "\u0000\u0e85\u0e83\u0001\u0000\u0000\u0000\u0e86\u0e89\u0001\u0000\u0000"+
55003 "\u0000\u0e87\u0e85\u0001\u0000\u0000\u0000\u0e87\u0e88\u0001\u0000\u0000"+
55004 "\u0000\u0e88\u0e8b\u0001\u0000\u0000\u0000\u0e89\u0e87\u0001\u0000\u0000"+
55005 "\u0000\u0e8a\u0e81\u0001\u0000\u0000\u0000\u0e8a\u0e8b\u0001\u0000\u0000"+
55006 "\u0000\u0e8b\u0e8d\u0001\u0000\u0000\u0000\u0e8c\u0e8e\u0005`\u0000\u0000"+
55007 "\u0e8d\u0e8c\u0001\u0000\u0000\u0000\u0e8d\u0e8e\u0001\u0000\u0000\u0000"+
55008 "\u0e8e\u0e8f\u0001\u0000\u0000\u0000\u0e8f\u0e90\u0005}\u0000\u0000\u0e90"+
55009 "\u0e91\u0003\u0220\u0110\u0000\u0e91\u0e92\u0005\u00d2\u0000\u0000\u0e92"+
55010 "\u0e93\u0003b1\u0000\u0e93\u021d\u0001\u0000\u0000\u0000\u0e94\u0e95\u0003"+
55011 "\u0138\u009c\u0000\u0e95\u0e96\u0003\u013e\u009f\u0000\u0e96\u0e99\u0001"+
55012 "\u0000\u0000\u0000\u0e97\u0e99\u0003\u016e\u00b7\u0000\u0e98\u0e94\u0001"+
55013 "\u0000\u0000\u0000\u0e98\u0e97\u0001\u0000\u0000\u0000\u0e99\u0e9d\u0001"+
55014 "\u0000\u0000\u0000\u0e9a\u0e9c\u0003\u0172\u00b9\u0000\u0e9b\u0e9a\u0001"+
55015 "\u0000\u0000\u0000\u0e9c\u0e9f\u0001\u0000\u0000\u0000\u0e9d\u0e9b\u0001"+
55016 "\u0000\u0000\u0000\u0e9d\u0e9e\u0001\u0000\u0000\u0000\u0e9e\u021f\u0001"+
55017 "\u0000\u0000\u0000\u0e9f\u0e9d\u0001\u0000\u0000\u0000\u0ea0\u0ea2\u0003"+
55018 "\u0224\u0112\u0000\u0ea1\u0ea0\u0001\u0000\u0000\u0000\u0ea2\u0ea5\u0001"+
55019 "\u0000\u0000\u0000\u0ea3\u0ea1\u0001\u0000\u0000\u0000\u0ea3\u0ea4\u0001"+
55020 "\u0000\u0000\u0000\u0ea4\u0221\u0001\u0000\u0000\u0000\u0ea5\u0ea3\u0001"+
55021 "\u0000\u0000\u0000\u0ea6\u0ea8\u0005\u015d\u0000\u0000\u0ea7\u0ea6\u0001"+
55022 "\u0000\u0000\u0000\u0ea7\u0ea8\u0001\u0000\u0000\u0000\u0ea8\u0ec0\u0001"+
55023 "\u0000\u0000\u0000\u0ea9\u0eab\u0005\u01f8\u0000\u0000\u0eaa\u0ea9\u0001"+
55024 "\u0000\u0000\u0000\u0eaa\u0eab\u0001\u0000\u0000\u0000\u0eab\u0ec0\u0001"+
55025 "\u0000\u0000\u0000\u0eac\u0ead\u0005\u00d0\u0000\u0000\u0ead\u0eae\u0005"+
55026 "l\u0000\u0000\u0eae\u0eaf\u0005a\u0000\u0000\u0eaf\u0eb0\u0005l\u0000"+
55027 "\u0000\u0eb0\u0eb6\u0005\u01fa\u0000\u0000\u0eb1\u0eb2\u0005\u01fb\u0000"+
55028 "\u0000\u0eb2\u0eb3\u0005a\u0000\u0000\u0eb3\u0eb4\u0005l\u0000\u0000\u0eb4"+
55029 "\u0eb6\u0005\u01fa\u0000\u0000\u0eb5\u0eac\u0001\u0000\u0000\u0000\u0eb5"+
55030 "\u0eb1\u0001\u0000\u0000\u0000\u0eb5\u0eb6\u0001\u0000\u0000\u0000\u0eb6"+
55031 "\u0ec0\u0001\u0000\u0000\u0000\u0eb7\u0eb9\u0003\u00d2i\u0000\u0eb8\u0eb7"+
55032 "\u0001\u0000\u0000\u0000\u0eb8\u0eb9\u0001\u0000\u0000\u0000\u0eb9\u0ec0"+
55033 "\u0001\u0000\u0000\u0000\u0eba\u0ebb\u0005\u027a\u0000\u0000\u0ebb\u0ebc"+
55034 "\u0005\u0018\u0000\u0000\u0ebc\u0ebe\u0007\u0000\u0000\u0000\u0ebd\u0eba"+
55035 "\u0001\u0000\u0000\u0000\u0ebd\u0ebe\u0001\u0000\u0000\u0000\u0ebe\u0ec0"+
55036 "\u0001\u0000\u0000\u0000\u0ebf\u0ea7\u0001\u0000\u0000\u0000\u0ebf\u0eaa"+
55037 "\u0001\u0000\u0000\u0000\u0ebf\u0eb5\u0001\u0000\u0000\u0000\u0ebf\u0eb8"+
55038 "\u0001\u0000\u0000\u0000\u0ebf\u0ebd\u0001\u0000\u0000\u0000\u0ec0\u0223"+
55039 "\u0001\u0000\u0000\u0000\u0ec1\u0ecc\u0003\u00e6s\u0000\u0ec2\u0ecc\u0003"+
55040 "\u00fc~\u0000\u0ec3\u0ecc\u0003\u0110\u0088\u0000\u0ec4\u0ecc\u0003\u0124"+
55041 "\u0092\u0000\u0ec5\u0ecc\u0003\u029e\u014f\u0000\u0ec6\u0ecc\u0003\u02aa"+
55042 "\u0155\u0000\u0ec7\u0ecc\u0003\u02b4\u015a\u0000\u0ec8\u0ecc\u0003\u02bc"+
55043 "\u015e\u0000\u0ec9\u0ecc\u0003\u020a\u0105\u0000\u0eca\u0ecc\u0003\u01fa"+
55044 "\u00fd\u0000\u0ecb\u0ec1\u0001\u0000\u0000\u0000\u0ecb\u0ec2\u0001\u0000"+
55045 "\u0000\u0000\u0ecb\u0ec3\u0001\u0000\u0000\u0000\u0ecb\u0ec4\u0001\u0000"+
55046 "\u0000\u0000\u0ecb\u0ec5\u0001\u0000\u0000\u0000\u0ecb\u0ec6\u0001\u0000"+
55047 "\u0000\u0000\u0ecb\u0ec7\u0001\u0000\u0000\u0000\u0ecb\u0ec8\u0001\u0000"+
55048 "\u0000\u0000\u0ecb\u0ec9\u0001\u0000\u0000\u0000\u0ecb\u0eca\u0001\u0000"+
55049 "\u0000\u0000\u0ecc\u0ece\u0001\u0000\u0000\u0000\u0ecd\u0ecf\u0005+\u0000"+
55050 "\u0000\u0ece\u0ecd\u0001\u0000\u0000\u0000\u0ece\u0ecf\u0001\u0000\u0000"+
55051 "\u0000\u0ecf\u0225\u0001\u0000\u0000\u0000\u0ed0\u0ed5\u0003\u0228\u0114"+
55052 "\u0000\u0ed1\u0ed2\u0005%\u0000\u0000\u0ed2\u0ed4\u0003\u0228\u0114\u0000"+
55053 "\u0ed3\u0ed1\u0001\u0000\u0000\u0000\u0ed4\u0ed7\u0001\u0000\u0000\u0000"+
55054 "\u0ed5\u0ed3\u0001\u0000\u0000\u0000\u0ed5\u0ed6\u0001\u0000\u0000\u0000"+
55055 "\u0ed6\u0ed9\u0001\u0000\u0000\u0000\u0ed7\u0ed5\u0001\u0000\u0000\u0000"+
55056 "\u0ed8\u0ed0\u0001\u0000\u0000\u0000\u0ed8\u0ed9\u0001\u0000\u0000\u0000"+
55057 "\u0ed9\u0227\u0001\u0000\u0000\u0000\u0eda\u0edc\u0003\u01fc\u00fe\u0000"+
55058 "\u0edb\u0edd\u0005\u01fc\u0000\u0000\u0edc\u0edb\u0001\u0000\u0000\u0000"+
55059 "\u0edc\u0edd\u0001\u0000\u0000\u0000\u0edd\u0ee0\u0001\u0000\u0000\u0000"+
55060 "\u0ede\u0edf\u0005\u0018\u0000\u0000\u0edf\u0ee1\u0003\u001a\r\u0000\u0ee0"+
55061 "\u0ede\u0001\u0000\u0000\u0000\u0ee0\u0ee1\u0001\u0000\u0000\u0000\u0ee1"+
55062 "\u0ee3\u0001\u0000\u0000\u0000\u0ee2\u0ee4\u00072\u0000\u0000\u0ee3\u0ee2"+
55063 "\u0001\u0000\u0000\u0000\u0ee3\u0ee4\u0001\u0000\u0000\u0000\u0ee4\u0229"+
55064 "\u0001\u0000\u0000\u0000\u0ee5\u0ee7\u0003\u022c\u0116\u0000\u0ee6\u0ee5"+
55065 "\u0001\u0000\u0000\u0000\u0ee6\u0ee7\u0001\u0000\u0000\u0000\u0ee7\u0eea"+
55066 "\u0001\u0000\u0000\u0000\u0ee8\u0ee9\u0005f\u0000\u0000\u0ee9\u0eeb\u0005"+
55067 "\u0123\u0000\u0000\u0eea\u0ee8\u0001\u0000\u0000\u0000\u0eea\u0eeb\u0001"+
55068 "\u0000\u0000\u0000\u0eeb\u0eec\u0001\u0000\u0000\u0000\u0eec\u0eed\u0005"+
55069 "`\u0000\u0000\u0eed\u0eee\u0003\u0230\u0118\u0000\u0eee\u022b\u0001\u0000"+
55070 "\u0000\u0000\u0eef\u0ef8\u0005M\u0000\u0000\u0ef0\u0ef5\u0003\u022e\u0117"+
55071 "\u0000\u0ef1\u0ef2\u0005%\u0000\u0000\u0ef2\u0ef4\u0003\u022e\u0117\u0000"+
55072 "\u0ef3\u0ef1\u0001\u0000\u0000\u0000\u0ef4\u0ef7\u0001\u0000\u0000\u0000"+
55073 "\u0ef5\u0ef3\u0001\u0000\u0000\u0000\u0ef5\u0ef6\u0001\u0000\u0000\u0000"+
55074 "\u0ef6\u0ef9\u0001\u0000\u0000\u0000\u0ef7\u0ef5\u0001\u0000\u0000\u0000"+
55075 "\u0ef8\u0ef0\u0001\u0000\u0000\u0000\u0ef8\u0ef9\u0001\u0000\u0000\u0000"+
55076 "\u0ef9\u022d\u0001\u0000\u0000\u0000\u0efa\u0f00\u0005\u015d\u0000\u0000"+
55077 "\u0efb\u0f00\u0005\u01d8\u0000\u0000\u0efc\u0f00\u0003\u00d2i\u0000\u0efd"+
55078 "\u0f00\u0005\u0207\u0000\u0000\u0efe\u0f00\u0005\u01f8\u0000\u0000\u0eff"+
55079 "\u0efa\u0001\u0000\u0000\u0000\u0eff\u0efb\u0001\u0000\u0000\u0000\u0eff"+
55080 "\u0efc\u0001\u0000\u0000\u0000\u0eff\u0efd\u0001\u0000\u0000\u0000\u0eff"+
55081 "\u0efe\u0001\u0000\u0000\u0000\u0f00\u022f\u0001\u0000\u0000\u0000\u0f01"+
55082 "\u0f03\u0005}\u0000\u0000\u0f02\u0f01\u0001\u0000\u0000\u0000\u0f02\u0f03"+
55083 "\u0001\u0000\u0000\u0000\u0f03\u0f04\u0001\u0000\u0000\u0000\u0f04\u0f06"+
55084 "\u0003\u0220\u0110\u0000\u0f05\u0f07\u0005\u0105\u0000\u0000\u0f06\u0f05"+
55085 "\u0001\u0000\u0000\u0000\u0f06\u0f07\u0001\u0000\u0000\u0000\u0f07\u0f25"+
55086 "\u0001\u0000\u0000\u0000\u0f08\u0f09\u0005\u0150\u0000\u0000\u0f09\u0f0d"+
55087 "\u0005\u00aa\u0000\u0000\u0f0a\u0f0b\u0003L&\u0000\u0f0b\u0f0c\u0005\u0014"+
55088 "\u0000\u0000\u0f0c\u0f0e\u0001\u0000\u0000\u0000\u0f0d\u0f0a\u0001\u0000"+
55089 "\u0000\u0000\u0f0d\u0f0e\u0001\u0000\u0000\u0000\u0f0e\u0f12\u0001\u0000"+
55090 "\u0000\u0000\u0f0f\u0f10\u0003L&\u0000\u0f10\u0f11\u0005\u0014\u0000\u0000"+
55091 "\u0f11\u0f13\u0001\u0000\u0000\u0000\u0f12\u0f0f\u0001\u0000\u0000\u0000"+
55092 "\u0f12\u0f13\u0001\u0000\u0000\u0000\u0f13\u0f14\u0001\u0000\u0000\u0000"+
55093 "\u0f14\u0f25\u0003N\'\u0000\u0f15\u0f16\u0005}\u0000\u0000\u0f16\u0f17"+
55094 "\u0005\u01ff\u0000\u0000\u0f17\u0f18\u0005M\u0000\u0000\u0f18\u0f1d\u0003"+
55095 "\u0232\u0119\u0000\u0f19\u0f1a\u0005%\u0000\u0000\u0f1a\u0f1c\u0003\u0232"+
55096 "\u0119\u0000\u0f1b\u0f19\u0001\u0000\u0000\u0000\u0f1c\u0f1f\u0001\u0000"+
55097 "\u0000\u0000\u0f1d\u0f1b\u0001\u0000\u0000\u0000\u0f1d\u0f1e\u0001\u0000"+
55098 "\u0000\u0000\u0f1e\u0f20\u0001\u0000\u0000\u0000\u0f1f\u0f1d\u0001\u0000"+
55099 "\u0000\u0000\u0f20\u0f22\u0003\u0220\u0110\u0000\u0f21\u0f23\u0005\u0105"+
55100 "\u0000\u0000\u0f22\u0f21\u0001\u0000\u0000\u0000\u0f22\u0f23\u0001\u0000"+
55101 "\u0000\u0000\u0f23\u0f25\u0001\u0000\u0000\u0000\u0f24\u0f02\u0001\u0000"+
55102 "\u0000\u0000\u0f24\u0f08\u0001\u0000\u0000\u0000\u0f24\u0f15\u0001\u0000"+
55103 "\u0000\u0000\u0f25\u0231\u0001\u0000\u0000\u0000\u0f26\u0f27\u0005\u0200"+
55104 "\u0000\u0000\u0f27\u0f28\u0005\u0018\u0000\u0000\u0f28\u0f3d\u0003\u001c"+
55105 "\u000e\u0000\u0f29\u0f2a\u0005\u00ef\u0000\u0000\u0f2a\u0f2b\u0005\u0202"+
55106 "\u0000\u0000\u0f2b\u0f2c\u0005\u0201\u0000\u0000\u0f2c\u0f31\u0005\u0018"+
55107 "\u0000\u0000\u0f2d\u0f32\u0005\u0203\u0000\u0000\u0f2e\u0f2f\u0005\u0204"+
55108 "\u0000\u0000\u0f2f\u0f32\u0005\u0205\u0000\u0000\u0f30\u0f32\u0005\u0206"+
55109 "\u0000\u0000\u0f31\u0f2d\u0001\u0000\u0000\u0000\u0f31\u0f2e\u0001\u0000"+
55110 "\u0000\u0000\u0f31\u0f30\u0001\u0000\u0000\u0000\u0f32\u0f3d\u0001\u0000"+
55111 "\u0000\u0000\u0f33\u0f34\u0005\u0273\u0000\u0000\u0f34\u0f35\u0005\u0018"+
55112 "\u0000\u0000\u0f35\u0f3d\u0003\u001e\u000f\u0000\u0f36\u0f37\u0005\u0280"+
55113 "\u0000\u0000\u0f37\u0f38\u0005\u0018\u0000\u0000\u0f38\u0f3d\u0003\u001c"+
55114 "\u000e\u0000\u0f39\u0f3a\u0005\u0281\u0000\u0000\u0f3a\u0f3b\u0005\u0018"+
55115 "\u0000\u0000\u0f3b\u0f3d\u0007\u0000\u0000\u0000\u0f3c\u0f26\u0001\u0000"+
55116 "\u0000\u0000\u0f3c\u0f29\u0001\u0000\u0000\u0000\u0f3c\u0f33\u0001\u0000"+
55117 "\u0000\u0000\u0f3c\u0f36\u0001\u0000\u0000\u0000\u0f3c\u0f39\u0001\u0000"+
55118 "\u0000\u0000\u0f3d\u0233\u0001\u0000\u0000\u0000\u0f3e\u0f3f\u0005M\u0000"+
55119 "\u0000\u0f3f\u0f44\u0003\u0236\u011b\u0000\u0f40\u0f41\u0005%\u0000\u0000"+
55120 "\u0f41\u0f43\u0003\u0236\u011b\u0000\u0f42\u0f40\u0001\u0000\u0000\u0000"+
55121 "\u0f43\u0f46\u0001\u0000\u0000\u0000\u0f44\u0f42\u0001\u0000\u0000\u0000"+
55122 "\u0f44\u0f45\u0001\u0000\u0000\u0000\u0f45\u0f48\u0001\u0000\u0000\u0000"+
55123 "\u0f46\u0f44\u0001\u0000\u0000\u0000\u0f47\u0f3e\u0001\u0000\u0000\u0000"+
55124 "\u0f47\u0f48\u0001\u0000\u0000\u0000\u0f48\u0f49\u0001\u0000\u0000\u0000"+
55125 "\u0f49\u0f4b\u0005`\u0000\u0000\u0f4a\u0f4c\u0003\u0238\u011c\u0000\u0f4b"+
55126 "\u0f4a\u0001\u0000\u0000\u0000\u0f4b\u0f4c\u0001\u0000\u0000\u0000\u0f4c"+
55127 "\u0f4d\u0001\u0000\u0000\u0000\u0f4d\u0f51\u0003\u02bc\u015e\u0000\u0f4e"+
55128 "\u0f4f\u0005M\u0000\u0000\u0f4f\u0f50\u0005\u00e6\u0000\u0000\u0f50\u0f52"+
55129 "\u0005\u00e9\u0000\u0000\u0f51\u0f4e\u0001\u0000\u0000\u0000\u0f51\u0f52"+
55130 "\u0001\u0000\u0000\u0000\u0f52\u0235\u0001\u0000\u0000\u0000\u0f53\u0f54"+
55131 "\u00073\u0000\u0000\u0f54\u0237\u0001\u0000\u0000\u0000\u0f55\u0f56\u0005"+
55132 "M\u0000\u0000\u0f56\u0f5b\u0003\u023a\u011d\u0000\u0f57\u0f58\u0005%\u0000"+
55133 "\u0000\u0f58\u0f5a\u0003\u023a\u011d\u0000\u0f59\u0f57\u0001\u0000\u0000"+
55134 "\u0000\u0f5a\u0f5d\u0001\u0000\u0000\u0000\u0f5b\u0f59\u0001\u0000\u0000"+
55135 "\u0000\u0f5b\u0f5c\u0001\u0000\u0000\u0000\u0f5c\u0239\u0001\u0000\u0000"+
55136 "\u0000\u0f5d\u0f5b\u0001\u0000\u0000\u0000\u0f5e\u0f6a\u0003N\'\u0000"+
55137 "\u0f5f\u0f60\u0005\u001f\u0000\u0000\u0f60\u0f65\u0003H$\u0000\u0f61\u0f62"+
55138 "\u0005%\u0000\u0000\u0f62\u0f64\u0003H$\u0000\u0f63\u0f61\u0001\u0000"+
55139 "\u0000\u0000\u0f64\u0f67\u0001\u0000\u0000\u0000\u0f65\u0f63\u0001\u0000"+
55140 "\u0000\u0000\u0f65\u0f66\u0001\u0000\u0000\u0000\u0f66\u0f68\u0001\u0000"+
55141 "\u0000\u0000\u0f67\u0f65\u0001\u0000\u0000\u0000\u0f68\u0f69\u0005 \u0000"+
55142 "\u0000\u0f69\u0f6b\u0001\u0000\u0000\u0000\u0f6a\u0f5f\u0001\u0000\u0000"+
55143 "\u0000\u0f6a\u0f6b\u0001\u0000\u0000\u0000\u0f6b\u0f6c\u0001\u0000\u0000"+
55144 "\u0000\u0f6c\u0f6d\u0005`\u0000\u0000\u0f6d\u0f6e\u0005\u001f\u0000\u0000"+
55145 "\u0f6e\u0f6f\u0003\u02bc\u015e\u0000\u0f6f\u0f70\u0005 \u0000\u0000\u0f70"+
55146 "\u023b\u0001\u0000\u0000\u0000\u0f71\u0f72\u0005M\u0000\u0000\u0f72\u0f73"+
55147 "\u0003\u023e\u011f\u0000\u0f73\u0f74\u0005%\u0000\u0000\u0f74\u0f75\u0003"+
55148 "\u023e\u011f\u0000\u0f75\u0f77\u0001\u0000\u0000\u0000\u0f76\u0f71\u0001"+
55149 "\u0000\u0000\u0000\u0f76\u0f77\u0001\u0000\u0000\u0000\u0f77\u0f7c\u0001"+
55150 "\u0000\u0000\u0000\u0f78\u0f7d\u0005f\u0000\u0000\u0f79\u0f7d\u0005\u0209"+
55151 "\u0000\u0000\u0f7a\u0f7b\u0005\u020a\u0000\u0000\u0f7b\u0f7d\u0005\u00cf"+
55152 "\u0000\u0000\u0f7c\u0f78\u0001\u0000\u0000\u0000\u0f7c\u0f79\u0001\u0000"+
55153 "\u0000\u0000\u0f7c\u0f7a\u0001\u0000\u0000\u0000\u0f7d\u0f7f\u0001\u0000"+
55154 "\u0000\u0000\u0f7e\u0f80\u0005/\u0000\u0000\u0f7f\u0f7e\u0001\u0000\u0000"+
55155 "\u0000\u0f7f\u0f80\u0001\u0000\u0000\u0000\u0f80\u0f82\u0001\u0000\u0000"+
55156 "\u0000\u0f81\u0f83\u0005%\u0000\u0000\u0f82\u0f81\u0001\u0000\u0000\u0000"+
55157 "\u0f82\u0f83\u0001\u0000\u0000\u0000\u0f83\u0f85\u0001\u0000\u0000\u0000"+
55158 "\u0f84\u0f86\u00050\u0000\u0000\u0f85\u0f84\u0001\u0000\u0000\u0000\u0f85"+
55159 "\u0f86\u0001\u0000\u0000\u0000\u0f86\u0f88\u0001\u0000\u0000\u0000\u0f87"+
55160 "\u0f89\u0005%\u0000\u0000\u0f88\u0f87\u0001\u0000\u0000\u0000\u0f88\u0f89"+
55161 "\u0001\u0000\u0000\u0000\u0f89\u0f8b\u0001\u0000\u0000\u0000\u0f8a\u0f8c"+
55162 "\u00051\u0000\u0000\u0f8b\u0f8a\u0001\u0000\u0000\u0000\u0f8b\u0f8c\u0001"+
55163 "\u0000\u0000\u0000\u0f8c\u0f8e\u0001\u0000\u0000\u0000\u0f8d\u0f8f\u0005"+
55164 "%\u0000\u0000\u0f8e\u0f8d\u0001\u0000\u0000\u0000\u0f8e\u0f8f\u0001\u0000"+
55165 "\u0000\u0000\u0f8f\u0f92\u0001\u0000\u0000\u0000\u0f90\u0f91\u0005M\u0000"+
55166 "\u0000\u0f91\u0f93\u0005\u020b\u0000\u0000\u0f92\u0f90\u0001\u0000\u0000"+
55167 "\u0000\u0f92\u0f93\u0001\u0000\u0000\u0000\u0f93\u0f97\u0001\u0000\u0000"+
55168 "\u0000\u0f94\u0f95\u0005k\u0000\u0000\u0f95\u0f96\u0005f\u0000\u0000\u0f96"+
55169 "\u0f98\u0005\u0123\u0000\u0000\u0f97\u0f94\u0001\u0000\u0000\u0000\u0f97"+
55170 "\u0f98\u0001\u0000\u0000\u0000\u0f98\u0f99\u0001\u0000\u0000\u0000\u0f99"+
55171 "\u0f9e\u0005`\u0000\u0000\u0f9a\u0f9f\u0003\u0220\u0110\u0000\u0f9b\u0f9c"+
55172 "\u0005\u0150\u0000\u0000\u0f9c\u0f9d\u0005\u00aa\u0000\u0000\u0f9d\u0f9f"+
55173 "\u0003\u0240\u0120\u0000\u0f9e\u0f9a\u0001\u0000\u0000\u0000\u0f9e\u0f9b"+
55174 "\u0001\u0000\u0000\u0000\u0f9f\u023d\u0001\u0000\u0000\u0000\u0fa0\u0fa6"+
55175 "\u0005\u015d\u0000\u0000\u0fa1\u0fa6\u0003\u00d2i\u0000\u0fa2\u0fa6\u0005"+
55176 "\u0207\u0000\u0000\u0fa3\u0fa6\u0005\u01f8\u0000\u0000\u0fa4\u0fa6\u0001"+
55177 "\u0000\u0000\u0000\u0fa5\u0fa0\u0001\u0000\u0000\u0000\u0fa5\u0fa1\u0001"+
55178 "\u0000\u0000\u0000\u0fa5\u0fa2\u0001\u0000\u0000\u0000\u0fa5\u0fa3\u0001"+
55179 "\u0000\u0000\u0000\u0fa5\u0fa4\u0001\u0000\u0000\u0000\u0fa6\u023f\u0001"+
55180 "\u0000\u0000\u0000\u0fa7\u0fa8\u0003N\'\u0000\u0fa8\u0fa9\u0005\u0014"+
55181 "\u0000\u0000\u0fa9\u0faa\u0003N\'\u0000\u0faa\u0fab\u0005\u0014\u0000"+
55182 "\u0000\u0fab\u0fac\u0003N\'\u0000\u0fac\u0241\u0001\u0000\u0000\u0000"+
55183 "\u0fad\u0fb3\u0003@ \u0000\u0fae\u0fb3\u0003:\u001d\u0000\u0faf\u0fb0"+
55184 "\u0005r\u0000\u0000\u0fb0\u0fb3\u0005\u013c\u0000\u0000\u0fb1\u0fb3\u0005"+
55185 "\u00cc\u0000\u0000\u0fb2\u0fad\u0001\u0000\u0000\u0000\u0fb2\u0fae\u0001"+
55186 "\u0000\u0000\u0000\u0fb2\u0faf\u0001\u0000\u0000\u0000\u0fb2\u0fb1\u0001"+
55187 "\u0000\u0000\u0000\u0fb3\u0243\u0001\u0000\u0000\u0000\u0fb4\u0fb5\u0005"+
55188 "`\u0000\u0000\u0fb5\u0fd1\u0003\u0094J\u0000\u0fb6\u0fb7\u00074\u0000"+
55189 "\u0000\u0fb7\u0fb8\u0005M\u0000\u0000\u0fb8\u0fd1\u0003b1\u0000\u0fb9"+
55190 "\u0fba\u0005\u020c\u0000\u0000\u0fba\u0fbb\u0005w\u0000\u0000\u0fbb\u0fd1"+
55191 "\u0003b1\u0000\u0fbc\u0fbe\u0005\u020f\u0000\u0000\u0fbd\u0fbf\u0003b"+
55192 "1\u0000\u0fbe\u0fbd\u0001\u0000\u0000\u0000\u0fbe\u0fbf\u0001\u0000\u0000"+
55193 "\u0000\u0fbf\u0fd1\u0001\u0000\u0000\u0000\u0fc0\u0fc1\u0005\u00e8\u0000"+
55194 "\u0000\u0fc1\u0fd1\u0005\u020f\u0000\u0000\u0fc2\u0fc4\u0005\u0210\u0000"+
55195 "\u0000\u0fc3\u0fc5\u0003b1\u0000\u0fc4\u0fc3\u0001\u0000\u0000\u0000\u0fc4"+
55196 "\u0fc5\u0001\u0000\u0000\u0000\u0fc5\u0fd1\u0001\u0000\u0000\u0000\u0fc6"+
55197 "\u0fc7\u0005\u00e8\u0000\u0000\u0fc7\u0fd1\u0005\u0210\u0000\u0000\u0fc8"+
55198 "\u0fc9\u0005\u020e\u0000\u0000\u0fc9\u0fd1\u0003b1\u0000\u0fca\u0fcb\u0005"+
55199 "\u00e8\u0000\u0000\u0fcb\u0fd1\u0005\u020e\u0000\u0000\u0fcc\u0fce\u0005"+
55200 "\u00e8\u0000\u0000\u0fcd\u0fcc\u0001\u0000\u0000\u0000\u0fcd\u0fce\u0001"+
55201 "\u0000\u0000\u0000\u0fce\u0fcf\u0001\u0000\u0000\u0000\u0fcf\u0fd1\u0005"+
55202 "\u020d\u0000\u0000\u0fd0\u0fb4\u0001\u0000\u0000\u0000\u0fd0\u0fb6\u0001"+
55203 "\u0000\u0000\u0000\u0fd0\u0fb9\u0001\u0000\u0000\u0000\u0fd0\u0fbc\u0001"+
55204 "\u0000\u0000\u0000\u0fd0\u0fc0\u0001\u0000\u0000\u0000\u0fd0\u0fc2\u0001"+
55205 "\u0000\u0000\u0000\u0fd0\u0fc6\u0001\u0000\u0000\u0000\u0fd0\u0fc8\u0001"+
55206 "\u0000\u0000\u0000\u0fd0\u0fca\u0001\u0000\u0000\u0000\u0fd0\u0fcd\u0001"+
55207 "\u0000\u0000\u0000\u0fd1\u0245\u0001\u0000\u0000\u0000\u0fd2\u0fd3\u0005"+
55208 "\u0218\u0000\u0000\u0fd3\u0fd5\u0003R)\u0000\u0fd4\u0fd2\u0001\u0000\u0000"+
55209 "\u0000\u0fd4\u0fd5\u0001\u0000\u0000\u0000\u0fd5\u0fd8\u0001\u0000\u0000"+
55210 "\u0000\u0fd6\u0fd7\u0005_\u0000\u0000\u0fd7\u0fd9\u0003\u0248\u0124\u0000"+
55211 "\u0fd8\u0fd6\u0001\u0000\u0000\u0000\u0fd8\u0fd9\u0001\u0000\u0000\u0000"+
55212 "\u0fd9\u0fe6\u0001\u0000\u0000\u0000\u0fda\u0fdb\u0005M\u0000\u0000\u0fdb"+
55213 "\u0fdc\u0005\u001f\u0000\u0000\u0fdc\u0fe1\u0003\u024e\u0127\u0000\u0fdd"+
55214 "\u0fde\u0005%\u0000\u0000\u0fde\u0fe0\u0003\u024e\u0127\u0000\u0fdf\u0fdd"+
55215 "\u0001\u0000\u0000\u0000\u0fe0\u0fe3\u0001\u0000\u0000\u0000\u0fe1\u0fdf"+
55216 "\u0001\u0000\u0000\u0000\u0fe1\u0fe2\u0001\u0000\u0000\u0000\u0fe2\u0fe4"+
55217 "\u0001\u0000\u0000\u0000\u0fe3\u0fe1\u0001\u0000\u0000\u0000\u0fe4\u0fe5"+
55218 "\u0005 \u0000\u0000\u0fe5\u0fe7\u0001\u0000\u0000\u0000\u0fe6\u0fda\u0001"+
55219 "\u0000\u0000\u0000\u0fe6\u0fe7\u0001\u0000\u0000\u0000\u0fe7\u0ff1\u0001"+
55220 "\u0000\u0000\u0000\u0fe8\u0fef\u0005a\u0000\u0000\u0fe9\u0fea\u00034\u001a"+
55221 "\u0000\u0fea\u0feb\u0005\u001f\u0000\u0000\u0feb\u0fec\u0003H$\u0000\u0fec"+
55222 "\u0fed\u0005 \u0000\u0000\u0fed\u0ff0\u0001\u0000\u0000\u0000\u0fee\u0ff0"+
55223 "\u0003N\'\u0000\u0fef\u0fe9\u0001\u0000\u0000\u0000\u0fef\u0fee\u0001"+
55224 "\u0000\u0000\u0000\u0ff0\u0ff2\u0001\u0000\u0000\u0000\u0ff1\u0fe8\u0001"+
55225 "\u0000\u0000\u0000\u0ff1\u0ff2\u0001\u0000\u0000\u0000\u0ff2\u0ff8\u0001"+
55226 "\u0000\u0000\u0000\u0ff3\u0ff6\u0005\u019a\u0000\u0000\u0ff4\u0ff7\u0003"+
55227 "N\'\u0000\u0ff5\u0ff7\u0003\u001c\u000e\u0000\u0ff6\u0ff4\u0001\u0000"+
55228 "\u0000\u0000\u0ff6\u0ff5\u0001\u0000\u0000\u0000\u0ff7\u0ff9\u0001\u0000"+
55229 "\u0000\u0000\u0ff8\u0ff3\u0001\u0000\u0000\u0000\u0ff8\u0ff9\u0001\u0000"+
55230 "\u0000\u0000\u0ff9\u0247\u0001\u0000\u0000\u0000\u0ffa\u0fff\u0003\u024a"+
55231 "\u0125\u0000\u0ffb\u0ffc\u0005h\u0000\u0000\u0ffc\u0ffe\u0003\u024a\u0125"+
55232 "\u0000\u0ffd\u0ffb\u0001\u0000\u0000\u0000\u0ffe\u1001\u0001\u0000\u0000"+
55233 "\u0000\u0fff\u0ffd\u0001\u0000\u0000\u0000\u0fff\u1000\u0001\u0000\u0000"+
55234 "\u0000\u1000\u0249\u0001\u0000\u0000\u0000\u1001\u0fff\u0001\u0000\u0000"+
55235 "\u0000\u1002\u1003\u0003H$\u0000\u1003\u1004\u0005q\u0000\u0000\u1004"+
55236 "\u1005\u0005\u001f\u0000\u0000\u1005\u100a\u0003b1\u0000\u1006\u1007\u0005"+
55237 "%\u0000\u0000\u1007\u1009\u0003b1\u0000\u1008\u1006\u0001\u0000\u0000"+
55238 "\u0000\u1009\u100c\u0001\u0000\u0000\u0000\u100a\u1008\u0001\u0000\u0000"+
55239 "\u0000\u100a\u100b\u0001\u0000\u0000\u0000\u100b\u100d\u0001\u0000\u0000"+
55240 "\u0000\u100c\u100a\u0001\u0000\u0000\u0000\u100d\u100e\u0005 \u0000\u0000"+
55241 "\u100e\u1014\u0001\u0000\u0000\u0000\u100f\u1010\u0003H$\u0000\u1010\u1011"+
55242 "\u0003l6\u0000\u1011\u1012\u0003b1\u0000\u1012\u1014\u0001\u0000\u0000"+
55243 "\u0000\u1013\u1002\u0001\u0000\u0000\u0000\u1013\u100f\u0001\u0000\u0000"+
55244 "\u0000\u1014\u024b\u0001\u0000\u0000\u0000\u1015\u101c\u0005\u0121\u0000"+
55245 "\u0000\u1016\u1017\u0005\u00dd\u0000\u0000\u1017\u101a\u0005\u0018\u0000"+
55246 "\u0000\u1018\u101b\u0005r\u0000\u0000\u1019\u101b\u0003b1\u0000\u101a"+
55247 "\u1018\u0001\u0000\u0000\u0000\u101a\u1019\u0001\u0000\u0000\u0000\u101b"+
55248 "\u101d\u0001\u0000\u0000\u0000\u101c\u1016\u0001\u0000\u0000\u0000\u101c"+
55249 "\u101d\u0001\u0000\u0000\u0000\u101d\u102a\u0001\u0000\u0000\u0000\u101e"+
55250 "\u101f\u0005M\u0000\u0000\u101f\u1020\u0005\u001f\u0000\u0000\u1020\u1025"+
55251 "\u0003\u024e\u0127\u0000\u1021\u1022\u0005%\u0000\u0000\u1022\u1024\u0003"+
55252 "\u024e\u0127\u0000\u1023\u1021\u0001\u0000\u0000\u0000\u1024\u1027\u0001"+
55253 "\u0000\u0000\u0000\u1025\u1023\u0001\u0000\u0000\u0000\u1025\u1026\u0001"+
55254 "\u0000\u0000\u0000\u1026\u1028\u0001\u0000\u0000\u0000\u1027\u1025\u0001"+
55255 "\u0000\u0000\u0000\u1028\u1029\u0005 \u0000\u0000\u1029\u102b\u0001\u0000"+
55256 "\u0000\u0000\u102a\u101e\u0001\u0000\u0000\u0000\u102a\u102b\u0001\u0000"+
55257 "\u0000\u0000\u102b\u1054\u0001\u0000\u0000\u0000\u102c\u1054\u0005\u009d"+
55258 "\u0000\u0000\u102d\u1031\u0005\u0214\u0000\u0000\u102e\u102f\u0005\u00dd"+
55259 "\u0000\u0000\u102f\u1030\u0005\u0018\u0000\u0000\u1030\u1032\u0003b1\u0000"+
55260 "\u1031\u102e\u0001\u0000\u0000\u0000\u1031\u1032\u0001\u0000\u0000\u0000"+
55261 "\u1032\u1038\u0001\u0000\u0000\u0000\u1033\u1034\u0005M\u0000\u0000\u1034"+
55262 "\u1035\u0005\u001f\u0000\u0000\u1035\u1036\u0003\u0252\u0129\u0000\u1036"+
55263 "\u1037\u0005 \u0000\u0000\u1037\u1039\u0001\u0000\u0000\u0000\u1038\u1033"+
55264 "\u0001\u0000\u0000\u0000\u1038\u1039\u0001\u0000\u0000\u0000\u1039\u1054"+
55265 "\u0001\u0000\u0000\u0000\u103a\u103b\u0005:\u0000\u0000\u103b\u103c\u0005"+
55266 "\u001f\u0000\u0000\u103c\u103d\u0003\u0254\u012a\u0000\u103d\u103e\u0005"+
55267 "%\u0000\u0000\u103e\u103f\u0003\u0254\u012a\u0000\u103f\u1040\u0001\u0000"+
55268 "\u0000\u0000\u1040\u1041\u0005 \u0000\u0000\u1041\u1054\u0001\u0000\u0000"+
55269 "\u0000\u1042\u104f\u0005\u0215\u0000\u0000\u1043\u1044\u0005M\u0000\u0000"+
55270 "\u1044\u1045\u0005\u001f\u0000\u0000\u1045\u104a\u0003\u0256\u012b\u0000"+
55271 "\u1046\u1047\u0005%\u0000\u0000\u1047\u1049\u0003\u0256\u012b\u0000\u1048"+
55272 "\u1046\u0001\u0000\u0000\u0000\u1049\u104c\u0001\u0000\u0000\u0000\u104a"+
55273 "\u1048\u0001\u0000\u0000\u0000\u104a\u104b\u0001\u0000\u0000\u0000\u104b"+
55274 "\u104d\u0001\u0000\u0000\u0000\u104c\u104a\u0001\u0000\u0000\u0000\u104d"+
55275 "\u104e\u0005 \u0000\u0000\u104e\u1050\u0001\u0000\u0000\u0000\u104f\u1043"+
55276 "\u0001\u0000\u0000\u0000\u104f\u1050\u0001\u0000\u0000\u0000\u1050\u1054"+
55277 "\u0001\u0000\u0000\u0000\u1051\u1054\u0005\u0216\u0000\u0000\u1052\u1054"+
55278 "\u0005\u0217\u0000\u0000\u1053\u1015\u0001\u0000\u0000\u0000\u1053\u102c"+
55279 "\u0001\u0000\u0000\u0000\u1053\u102d\u0001\u0000\u0000\u0000\u1053\u103a"+
55280 "\u0001\u0000\u0000\u0000\u1053\u1042\u0001\u0000\u0000\u0000\u1053\u1051"+
55281 "\u0001\u0000\u0000\u0000\u1053\u1052\u0001\u0000\u0000\u0000\u1054\u024d"+
55282 "\u0001\u0000\u0000\u0000\u1055\u1056\u0005\u0198\u0000\u0000\u1056\u1057"+
55283 "\u0005\u0018\u0000\u0000\u1057\u1099\u0007\u0000\u0000\u0000\u1058\u1059"+
55284 "\u0005\u0108\u0000\u0000\u1059\u105a\u0005\u0018\u0000\u0000\u105a\u1099"+
55285 "\u0003b1\u0000\u105b\u105c\u0005\u0192\u0000\u0000\u105c\u105d\u0005\u0018"+
55286 "\u0000\u0000\u105d\u1099\u0007\u0000\u0000\u0000\u105e\u105f\u0005\u0193"+
55287 "\u0000\u0000\u105f\u1060\u0005\u0018\u0000\u0000\u1060\u1099\u0007\u0000"+
55288 "\u0000\u0000\u1061\u1062\u0005\u018e\u0000\u0000\u1062\u1063\u0005\u0018"+
55289 "\u0000\u0000\u1063\u1099\u0007\u0000\u0000\u0000\u1064\u1065\u0005\u018d"+
55290 "\u0000\u0000\u1065\u1066\u0005\u0018\u0000\u0000\u1066\u1099\u0007\u0000"+
55291 "\u0000\u0000\u1067\u1068\u0005\u01a4\u0000\u0000\u1068\u1069\u0005\u0018"+
55292 "\u0000\u0000\u1069\u1099\u0007\u0000\u0000\u0000\u106a\u106b\u0005\u0118"+
55293 "\u0000\u0000\u106b\u1071\u0005\u0018\u0000\u0000\u106c\u106e\u0005a\u0000"+
55294 "\u0000\u106d\u106f\u0003\u00c6c\u0000\u106e\u106d\u0001\u0000\u0000\u0000"+
55295 "\u106e\u106f\u0001\u0000\u0000\u0000\u106f\u1072\u0001\u0000\u0000\u0000"+
55296 "\u1070\u1072\u0005b\u0000\u0000\u1071\u106c\u0001\u0000\u0000\u0000\u1071"+
55297 "\u1070\u0001\u0000\u0000\u0000\u1072\u1099\u0001\u0000\u0000\u0000\u1073"+
55298 "\u1074\u0005\u0124\u0000\u0000\u1074\u1075\u0005\u0018\u0000\u0000\u1075"+
55299 "\u1099\u0007\u0000\u0000\u0000\u1076\u1077\u0005\u0195\u0000\u0000\u1077"+
55300 "\u1078\u0005\u0018\u0000\u0000\u1078\u107a\u0003b1\u0000\u1079\u107b\u0005"+
55301 "\u00fe\u0000\u0000\u107a\u1079\u0001\u0000\u0000\u0000\u107a\u107b\u0001"+
55302 "\u0000\u0000\u0000\u107b\u1099\u0001\u0000\u0000\u0000\u107c\u107d\u0005"+
55303 "\u017e\u0000\u0000\u107d\u107e\u0005\u0018\u0000\u0000\u107e\u1099\u0007"+
55304 "\u0000\u0000\u0000\u107f\u1080\u0005\u017d\u0000\u0000\u1080\u1081\u0005"+
55305 "\u0018\u0000\u0000\u1081\u1099\u0007\u0000\u0000\u0000\u1082\u1083\u0005"+
55306 "\u01da\u0000\u0000\u1083\u1084\u0005\u0018\u0000\u0000\u1084\u1099\u0007"+
55307 "\u0000\u0000\u0000\u1085\u1086\u0005\u0113\u0000\u0000\u1086\u1087\u0005"+
55308 "\u0018\u0000\u0000\u1087\u1099\u0003b1\u0000\u1088\u1089\u0005\u0186\u0000"+
55309 "\u0000\u1089\u108a\u0005\u0018\u0000\u0000\u108a\u1096\u0007\u0017\u0000"+
55310 "\u0000\u108b\u108c\u0005a\u0000\u0000\u108c\u108d\u0005\u00de\u0000\u0000"+
55311 "\u108d\u108e\u0005\u001f\u0000\u0000\u108e\u1093\u0003\u0250\u0128\u0000"+
55312 "\u108f\u1090\u0005%\u0000\u0000\u1090\u1092\u0003\u0250\u0128\u0000\u1091"+
55313 "\u108f\u0001\u0000\u0000\u0000\u1092\u1095\u0001\u0000\u0000\u0000\u1093"+
55314 "\u1091\u0001\u0000\u0000\u0000\u1093\u1094\u0001\u0000\u0000\u0000\u1094"+
55315 "\u1097\u0001\u0000\u0000\u0000\u1095\u1093\u0001\u0000\u0000\u0000\u1096"+
55316 "\u108b\u0001\u0000\u0000\u0000\u1096\u1097\u0001\u0000\u0000\u0000\u1097"+
55317 "\u1099\u0001\u0000\u0000\u0000\u1098\u1055\u0001\u0000\u0000\u0000\u1098"+
55318 "\u1058\u0001\u0000\u0000\u0000\u1098\u105b\u0001\u0000\u0000\u0000\u1098"+
55319 "\u105e\u0001\u0000\u0000\u0000\u1098\u1061\u0001\u0000\u0000\u0000\u1098"+
55320 "\u1064\u0001\u0000\u0000\u0000\u1098\u1067\u0001\u0000\u0000\u0000\u1098"+
55321 "\u106a\u0001\u0000\u0000\u0000\u1098\u1073\u0001\u0000\u0000\u0000\u1098"+
55322 "\u1076\u0001\u0000\u0000\u0000\u1098\u107c\u0001\u0000\u0000\u0000\u1098"+
55323 "\u107f\u0001\u0000\u0000\u0000\u1098\u1082\u0001\u0000\u0000\u0000\u1098"+
55324 "\u1085\u0001\u0000\u0000\u0000\u1098\u1088\u0001\u0000\u0000\u0000\u1099"+
55325 "\u024f\u0001\u0000\u0000\u0000\u109a\u109d\u0003b1\u0000\u109b\u109c\u0005"+
55326 "g\u0000\u0000\u109c\u109e\u0003b1\u0000\u109d\u109b\u0001\u0000\u0000"+
55327 "\u0000\u109d\u109e\u0001\u0000\u0000\u0000\u109e\u0251\u0001\u0000\u0000"+
55328 "\u0000\u109f\u10a0\u0005\u0212\u0000\u0000\u10a0\u10a1\u0005\u0018\u0000"+
55329 "\u0000\u10a1\u10a6\u0007\u0000\u0000\u0000\u10a2\u10a3\u0005\u0213\u0000"+
55330 "\u0000\u10a3\u10a4\u0005\u0018\u0000\u0000\u10a4\u10a6\u0007\u0000\u0000"+
55331 "\u0000\u10a5\u109f\u0001\u0000\u0000\u0000\u10a5\u10a2\u0001\u0000\u0000"+
55332 "\u0000\u10a6\u0253\u0001\u0000\u0000\u0000\u10a7\u10a8\u0005\u017e\u0000"+
55333 "\u0000\u10a8\u10a9\u0005\u0018\u0000\u0000\u10a9\u10bd\u0007\u0000\u0000"+
55334 "\u0000\u10aa\u10ab\u0005\u017d\u0000\u0000\u10ab\u10ac\u0005\u0018\u0000"+
55335 "\u0000\u10ac\u10bd\u0007\u0000\u0000\u0000\u10ad\u10ae\u0005\u01da\u0000"+
55336 "\u0000\u10ae\u10af\u0005\u0018\u0000\u0000\u10af\u10bd\u0007\u0000\u0000"+
55337 "\u0000\u10b0\u10b1\u0005\u0193\u0000\u0000\u10b1\u10b2\u0005\u0018\u0000"+
55338 "\u0000\u10b2\u10bd\u0007\u0000\u0000\u0000\u10b3\u10b4\u0005\u018e\u0000"+
55339 "\u0000\u10b4\u10b5\u0005\u0018\u0000\u0000\u10b5\u10bd\u0007\u0000\u0000"+
55340 "\u0000\u10b6\u10b7\u0005\u0184\u0000\u0000\u10b7\u10b8\u0005\u0018\u0000"+
55341 "\u0000\u10b8\u10ba\u0003b1\u0000\u10b9\u10bb\u0005\u00fe\u0000\u0000\u10ba"+
55342 "\u10b9\u0001\u0000\u0000\u0000\u10ba\u10bb\u0001\u0000\u0000\u0000\u10bb"+
55343 "\u10bd\u0001\u0000\u0000\u0000\u10bc\u10a7\u0001\u0000\u0000\u0000\u10bc"+
55344 "\u10aa\u0001\u0000\u0000\u0000\u10bc\u10ad\u0001\u0000\u0000\u0000\u10bc"+
55345 "\u10b0\u0001\u0000\u0000\u0000\u10bc\u10b3\u0001\u0000\u0000\u0000\u10bc"+
55346 "\u10b6\u0001\u0000\u0000\u0000\u10bd\u0255\u0001\u0000\u0000\u0000\u10be"+
55347 "\u10bf\u0005\u0113\u0000\u0000\u10bf\u10c0\u0005\u0018\u0000\u0000\u10c0"+
55348 "\u10c9\u0003b1\u0000\u10c1\u10c2\u0005\u0195\u0000\u0000\u10c2\u10c3\u0005"+
55349 "\u0018\u0000\u0000\u10c3\u10c5\u0003b1\u0000\u10c4\u10c6\u0005\u00fe\u0000"+
55350 "\u0000\u10c5\u10c4\u0001\u0000\u0000\u0000\u10c5\u10c6\u0001\u0000\u0000"+
55351 "\u0000\u10c6\u10c9\u0001\u0000\u0000\u0000\u10c7\u10c9\u0003\u00c6c\u0000"+
55352 "\u10c8\u10be\u0001\u0000\u0000\u0000\u10c8\u10c1\u0001\u0000\u0000\u0000"+
55353 "\u10c8\u10c7\u0001\u0000\u0000\u0000\u10c9\u0257\u0001\u0000\u0000\u0000"+
55354 "\u10ca\u10cb\u0005\u0221\u0000\u0000\u10cb\u10cc\u0005\u00aa\u0000\u0000"+
55355 "\u10cc\u10cd\u0005\u0018\u0000\u0000\u10cd\u1101\u00032\u0019\u0000\u10ce"+
55356 "\u10cf\u0005\u00f6\u0000\u0000\u10cf\u1101\u0003\u00cae\u0000\u10d0\u1101"+
55357 "\u0003\u0262\u0131\u0000\u10d1\u10d2\u0005:\u0000\u0000\u10d2\u10d7\u0003"+
55358 "\u0260\u0130\u0000\u10d3\u10d4\u0005%\u0000\u0000\u10d4\u10d6\u0003\u0260"+
55359 "\u0130\u0000\u10d5\u10d3\u0001\u0000\u0000\u0000\u10d6\u10d9\u0001\u0000"+
55360 "\u0000\u0000\u10d7\u10d5\u0001\u0000\u0000\u0000\u10d7\u10d8\u0001\u0000"+
55361 "\u0000\u0000\u10d8\u10dc\u0001\u0000\u0000\u0000\u10d9\u10d7\u0001\u0000"+
55362 "\u0000\u0000\u10da\u10db\u0005M\u0000\u0000\u10db\u10dd\u0003\u0288\u0144"+
55363 "\u0000\u10dc\u10da\u0001\u0000\u0000\u0000\u10dc\u10dd\u0001\u0000\u0000"+
55364 "\u0000\u10dd\u1101\u0001\u0000\u0000\u0000\u10de\u10df\u0005\u0221\u0000"+
55365 "\u0000\u10df\u10e0\u0005\u001f\u0000\u0000\u10e0\u10e5\u0003\u025c\u012e"+
55366 "\u0000\u10e1\u10e2\u0005%\u0000\u0000\u10e2\u10e4\u0003\u025c\u012e\u0000"+
55367 "\u10e3\u10e1\u0001\u0000\u0000\u0000\u10e4\u10e7\u0001\u0000\u0000\u0000"+
55368 "\u10e5\u10e3\u0001\u0000\u0000\u0000\u10e5\u10e6\u0001\u0000\u0000\u0000"+
55369 "\u10e6\u10e8\u0001\u0000\u0000\u0000\u10e7\u10e5\u0001\u0000\u0000\u0000"+
55370 "\u10e8\u10e9\u0005 \u0000\u0000\u10e9\u1101\u0001\u0000\u0000\u0000\u10ea"+
55371 "\u10eb\u0005\u0221\u0000\u0000\u10eb\u10ec\u0005\u0274\u0000\u0000\u10ec"+
55372 "\u10ed\u0005\u0018\u0000\u0000\u10ed\u1101\u0005\u02b7\u0000\u0000\u10ee"+
55373 "\u10ef\u00059\u0000\u0000\u10ef\u10f0\u0005\u0276\u0000\u0000\u10f0\u10f1"+
55374 "\u0005a\u0000\u0000\u10f1\u10f2\u0005\u013c\u0000\u0000\u10f2\u10fc\u0003"+
55375 "\u00cae\u0000\u10f3\u10f4\u0005M\u0000\u0000\u10f4\u10f9\u0003\u025a\u012d"+
55376 "\u0000\u10f5\u10f6\u0005%\u0000\u0000\u10f6\u10f8\u0003\u025a\u012d\u0000"+
55377 "\u10f7\u10f5\u0001\u0000\u0000\u0000\u10f8\u10fb\u0001\u0000\u0000\u0000"+
55378 "\u10f9\u10f7\u0001\u0000\u0000\u0000\u10f9\u10fa\u0001\u0000\u0000\u0000"+
55379 "\u10fa\u10fd\u0001\u0000\u0000\u0000\u10fb\u10f9\u0001\u0000\u0000\u0000"+
55380 "\u10fc\u10f3\u0001\u0000\u0000\u0000\u10fc\u10fd\u0001\u0000\u0000\u0000"+
55381 "\u10fd\u1101\u0001\u0000\u0000\u0000\u10fe\u1101\u0005\u0277\u0000\u0000"+
55382 "\u10ff\u1101\u0005\u0275\u0000\u0000\u1100\u10ca\u0001\u0000\u0000\u0000"+
55383 "\u1100\u10ce\u0001\u0000\u0000\u0000\u1100\u10d0\u0001\u0000\u0000\u0000";
55384 private static final String _serializedATNSegment2 =
55385 "\u1100\u10d1\u0001\u0000\u0000\u0000\u1100\u10de\u0001\u0000\u0000\u0000"+
55386 "\u1100\u10ea\u0001\u0000\u0000\u0000\u1100\u10ee\u0001\u0000\u0000\u0000"+
55387 "\u1100\u10fe\u0001\u0000\u0000\u0000\u1100\u10ff\u0001\u0000\u0000\u0000"+
55388 "\u1101\u0259\u0001\u0000\u0000\u0000\u1102\u1103\u0005\u0270\u0000\u0000"+
55389 "\u1103\u1104\u0005\u0018\u0000\u0000\u1104\u110f\u00075\u0000\u0000\u1105"+
55390 "\u1106\u0005\u026e\u0000\u0000\u1106\u110c\u0005\u0018\u0000\u0000\u1107"+
55391 "\u110d\u0003\u025e\u012f\u0000\u1108\u1109\u0005\u026f\u0000\u0000\u1109"+
55392 "\u110a\u0005\u0018\u0000\u0000\u110a\u110d\u00032\u0019\u0000\u110b\u110d"+
55393 "\u00076\u0000\u0000\u110c\u1107\u0001\u0000\u0000\u0000\u110c\u1108\u0001"+
55394 "\u0000\u0000\u0000\u110c\u110b\u0001\u0000\u0000\u0000\u110d\u110f\u0001"+
55395 "\u0000\u0000\u0000\u110e\u1102\u0001\u0000\u0000\u0000\u110e\u1105\u0001"+
55396 "\u0000\u0000\u0000\u110f\u025b\u0001\u0000\u0000\u0000\u1110\u1111\u0005"+
55397 "\u01e2\u0000\u0000\u1111\u1112\u0005\u0018\u0000\u0000\u1112\u1113\u0005"+
55398 "\u02b8\u0000\u0000\u1113\u111e\u00077\u0000\u0000\u1114\u1115\u0005\u0261"+
55399 "\u0000\u0000\u1115\u1116\u0005\u0018\u0000\u0000\u1116\u111e\u0005\u02b7"+
55400 "\u0000\u0000\u1117\u1118\u0005\u026e\u0000\u0000\u1118\u111b\u0005\u0018"+
55401 "\u0000\u0000\u1119\u111c\u0005\u02b7\u0000\u0000\u111a\u111c\u0003\u025e"+
55402 "\u012f\u0000\u111b\u1119\u0001\u0000\u0000\u0000\u111b\u111a\u0001\u0000"+
55403 "\u0000\u0000\u111c\u111e\u0001\u0000\u0000\u0000\u111d\u1110\u0001\u0000"+
55404 "\u0000\u0000\u111d\u1114\u0001\u0000\u0000\u0000\u111d\u1117\u0001\u0000"+
55405 "\u0000\u0000\u111e\u025d\u0001\u0000\u0000\u0000\u111f\u1128\u0005\u02b7"+
55406 "\u0000\u0000\u1120\u1121\u0005\u026d\u0000\u0000\u1121\u1122\u0005\u001f"+
55407 "\u0000\u0000\u1122\u1123\u0003\u00cae\u0000\u1123\u1124\u0005\u0018\u0000"+
55408 "\u0000\u1124\u1125\u0005\u02b7\u0000\u0000\u1125\u1126\u0005 \u0000\u0000"+
55409 "\u1126\u1128\u0001\u0000\u0000\u0000\u1127\u111f\u0001\u0000\u0000\u0000"+
55410 "\u1127\u1120\u0001\u0000\u0000\u0000\u1128\u025f\u0001\u0000\u0000\u0000"+
55411 "\u1129\u1155\u0003\u026a\u0135\u0000\u112a\u1155\u0003\u026c\u0136\u0000"+
55412 "\u112b\u1155\u0003\u026e\u0137\u0000\u112c\u1155\u0003\u0270\u0138\u0000"+
55413 "\u112d\u112e\u0005\u01de\u0000\u0000\u112e\u112f\u0005\u0018\u0000\u0000"+
55414 "\u112f\u1155\u0007+\u0000\u0000\u1130\u1155\u0003\u0274\u013a\u0000\u1131"+
55415 "\u1132\u0005\u026c\u0000\u0000\u1132\u1155\u0007\u0000\u0000\u0000\u1133"+
55416 "\u1134\u0005\u015d\u0000\u0000\u1134\u1155\u00078\u0000\u0000\u1135\u1155"+
55417 "\u00079\u0000\u0000\u1136\u1155\u0007:\u0000\u0000\u1137\u1155\u0007;"+
55418 "\u0000\u0000\u1138\u1139\u0005\u0281\u0000\u0000\u1139\u113a\u0005\u0018"+
55419 "\u0000\u0000\u113a\u1155\u0007<\u0000\u0000\u113b\u1155\u0003\u0276\u013b"+
55420 "\u0000\u113c\u113d\u0005\u0106\u0000\u0000\u113d\u113e\u0005\u001f\u0000"+
55421 "\u0000\u113e\u113f\u0003\u01ee\u00f7\u0000\u113f\u1140\u0005 \u0000\u0000"+
55422 "\u1140\u1155\u0001\u0000\u0000\u0000\u1141\u1142\u00053\u0000\u0000\u1142"+
55423 "\u1143\u0005\u00cc\u0000\u0000\u1143\u1144\u0005:\u0000\u0000\u1144\u1155"+
55424 "\u0005\u0265\u0000\u0000\u1145\u1146\u0005\u0262\u0000\u0000\u1146\u1155"+
55425 "\u0007\u0000\u0000\u0000\u1147\u1148\u0005\u01d6\u0000\u0000\u1148\u1155"+
55426 "\u0007=\u0000\u0000\u1149\u1155\u0003\u0278\u013c\u0000\u114a\u1155\u0003"+
55427 "\u027e\u013f\u0000\u114b\u1155\u0003\u0284\u0142\u0000\u114c\u1155\u0003"+
55428 "\u0282\u0141\u0000\u114d\u1155\u0003\u0280\u0140\u0000\u114e\u1155\u0003"+
55429 "\u0286\u0143\u0000\u114f\u1155\u0003\u0288\u0144\u0000\u1150\u1151\u0005"+
55430 "\u0260\u0000\u0000\u1151\u1155\u0007\u0000\u0000\u0000\u1152\u1153\u0005"+
55431 "\u025f\u0000\u0000\u1153\u1155\u0007\u0000\u0000\u0000\u1154\u1129\u0001"+
55432 "\u0000\u0000\u0000\u1154\u112a\u0001\u0000\u0000\u0000\u1154\u112b\u0001"+
55433 "\u0000\u0000\u0000\u1154\u112c\u0001\u0000\u0000\u0000\u1154\u112d\u0001"+
55434 "\u0000\u0000\u0000\u1154\u1130\u0001\u0000\u0000\u0000\u1154\u1131\u0001"+
55435 "\u0000\u0000\u0000\u1154\u1133\u0001\u0000\u0000\u0000\u1154\u1135\u0001"+
55436 "\u0000\u0000\u0000\u1154\u1136\u0001\u0000\u0000\u0000\u1154\u1137\u0001"+
55437 "\u0000\u0000\u0000\u1154\u1138\u0001\u0000\u0000\u0000\u1154\u113b\u0001"+
55438 "\u0000\u0000\u0000\u1154\u113c\u0001\u0000\u0000\u0000\u1154\u1141\u0001"+
55439 "\u0000\u0000\u0000\u1154\u1145\u0001\u0000\u0000\u0000\u1154\u1147\u0001"+
55440 "\u0000\u0000\u0000\u1154\u1149\u0001\u0000\u0000\u0000\u1154\u114a\u0001"+
55441 "\u0000\u0000\u0000\u1154\u114b\u0001\u0000\u0000\u0000\u1154\u114c\u0001"+
55442 "\u0000\u0000\u0000\u1154\u114d\u0001\u0000\u0000\u0000\u1154\u114e\u0001"+
55443 "\u0000\u0000\u0000\u1154\u114f\u0001\u0000\u0000\u0000\u1154\u1150\u0001"+
55444 "\u0000\u0000\u0000\u1154\u1152\u0001\u0000\u0000\u0000\u1155\u0261\u0001"+
55445 "\u0000\u0000\u0000\u1156\u115b\u0003\u0268\u0134\u0000\u1157\u115b\u0003"+
55446 "\u01f0\u00f8\u0000\u1158\u115b\u0003\u0264\u0132\u0000\u1159\u115b\u0003"+
55447 "\u0266\u0133\u0000\u115a\u1156\u0001\u0000\u0000\u0000\u115a\u1157\u0001"+
55448 "\u0000\u0000\u0000\u115a\u1158\u0001\u0000\u0000\u0000\u115a\u1159\u0001"+
55449 "\u0000\u0000\u0000\u115b\u0263\u0001\u0000\u0000\u0000\u115c\u115d\u0005"+
55450 "9\u0000\u0000\u115d\u115e\u0005\u01eb\u0000\u0000\u115e\u1163\u0003\u00ca"+
55451 "e\u0000\u115f\u1160\u0005\u01e9\u0000\u0000\u1160\u1164\u0005\u0106\u0000"+
55452 "\u0000\u1161\u1162\u0005\u01e9\u0000\u0000\u1162\u1164\u0005\u01ea\u0000"+
55453 "\u0000\u1163\u115f\u0001\u0000\u0000\u0000\u1163\u1161\u0001\u0000\u0000"+
55454 "\u0000\u1163\u1164\u0001\u0000\u0000\u0000\u1164\u1173\u0001\u0000\u0000"+
55455 "\u0000\u1165\u1166\u0005\u021c\u0000\u0000\u1166\u1167\u0005\u01eb\u0000"+
55456 "\u0000\u1167\u1173\u0003\u00cae\u0000\u1168\u1169\u0005\u0221\u0000\u0000"+
55457 "\u1169\u116a\u0005\u01eb\u0000\u0000\u116a\u116b\u0003\u00cae\u0000\u116b"+
55458 "\u116c\u0003\u0266\u0133\u0000\u116c\u1173\u0001\u0000\u0000\u0000\u116d"+
55459 "\u1173\u0005\u009a\u0000\u0000\u116e\u116f\u0005\u00aa\u0000\u0000\u116f"+
55460 "\u1170\u0005\u0018\u0000\u0000\u1170\u1173\u0003\u00cae\u0000\u1171\u1173"+
55461 "\u0007>\u0000\u0000\u1172\u115c\u0001\u0000\u0000\u0000\u1172\u1165\u0001"+
55462 "\u0000\u0000\u0000\u1172\u1168\u0001\u0000\u0000\u0000\u1172\u116d\u0001"+
55463 "\u0000\u0000\u0000\u1172\u116e\u0001\u0000\u0000\u0000\u1172\u1171\u0001"+
55464 "\u0000\u0000\u0000\u1173\u0265\u0001\u0000\u0000\u0000\u1174\u1177\u0007"+
55465 "?\u0000\u0000\u1175\u1177\u0007:\u0000\u0000\u1176\u1174\u0001\u0000\u0000"+
55466 "\u0000\u1176\u1175\u0001\u0000\u0000\u0000\u1177\u0267\u0001\u0000\u0000"+
55467 "\u0000\u1178\u1179\u00059\u0000\u0000\u1179\u117a\u0005\u0161\u0000\u0000"+
55468 "\u117a\u117f\u0003\u01f0\u00f8\u0000\u117b\u117c\u0005%\u0000\u0000\u117c"+
55469 "\u117e\u0003\u01f0\u00f8\u0000\u117d\u117b\u0001\u0000\u0000\u0000\u117e"+
55470 "\u1181\u0001\u0000\u0000\u0000\u117f\u117d\u0001\u0000\u0000\u0000\u117f"+
55471 "\u1180\u0001\u0000\u0000\u0000\u1180\u1185\u0001\u0000\u0000\u0000\u1181"+
55472 "\u117f\u0001\u0000\u0000\u0000\u1182\u1183\u0005g\u0000\u0000\u1183\u1184"+
55473 "\u0005\u01eb\u0000\u0000\u1184\u1186\u0003\u00cae\u0000\u1185\u1182\u0001"+
55474 "\u0000\u0000\u0000\u1185\u1186\u0001\u0000\u0000\u0000\u1186\u1199\u0001"+
55475 "\u0000\u0000\u0000\u1187\u1188\u00059\u0000\u0000\u1188\u1189\u0005\u0175"+
55476 "\u0000\u0000\u1189\u118a\u0005\u0161\u0000\u0000\u118a\u118f\u0003\u01f0"+
55477 "\u00f8\u0000\u118b\u118c\u0005%\u0000\u0000\u118c\u118e\u0003\u01f0\u00f8"+
55478 "\u0000\u118d\u118b\u0001\u0000\u0000\u0000\u118e\u1191\u0001\u0000\u0000"+
55479 "\u0000\u118f\u118d\u0001\u0000\u0000\u0000\u118f\u1190\u0001\u0000\u0000"+
55480 "\u0000\u1190\u1199\u0001\u0000\u0000\u0000\u1191\u118f\u0001\u0000\u0000"+
55481 "\u0000\u1192\u1193\u0005\u021c\u0000\u0000\u1193\u1194\u0005\u0161\u0000"+
55482 "\u0000\u1194\u1199\u0005\u02b7\u0000\u0000\u1195\u1196\u0005\u0221\u0000"+
55483 "\u0000\u1196\u1197\u0005\u0161\u0000\u0000\u1197\u1199\u0003\u01f0\u00f8"+
55484 "\u0000\u1198\u1178\u0001\u0000\u0000\u0000\u1198\u1187\u0001\u0000\u0000"+
55485 "\u0000\u1198\u1192\u0001\u0000\u0000\u0000\u1198\u1195\u0001\u0000\u0000"+
55486 "\u0000\u1199\u0269\u0001\u0000\u0000\u0000\u119a\u119b\u0005\u0222\u0000"+
55487 "\u0000\u119b\u119c\u0005\u0018\u0000\u0000\u119c\u11a3\u0007\u0000\u0000"+
55488 "\u0000\u119d\u119e\u0005\u001f\u0000\u0000\u119e\u119f\u0005\u0223\u0000"+
55489 "\u0000\u119f\u11a0\u0005\u0018\u0000\u0000\u11a0\u11a1\u0003\u00cae\u0000"+
55490 "\u11a1\u11a2\u0005 \u0000\u0000\u11a2\u11a4\u0001\u0000\u0000\u0000\u11a3"+
55491 "\u119d\u0001\u0000\u0000\u0000\u11a3\u11a4\u0001\u0000\u0000\u0000\u11a4"+
55492 "\u026b\u0001\u0000\u0000\u0000\u11a5\u11a6\u0005\u025e\u0000\u0000\u11a6"+
55493 "\u11ba\u0007\u0000\u0000\u0000\u11a7\u11b1\u0005\u025c\u0000\u0000\u11a8"+
55494 "\u11b2\u0005b\u0000\u0000\u11a9\u11af\u0005a\u0000\u0000\u11aa\u11ab\u0005"+
55495 "\u001f\u0000\u0000\u11ab\u11ac\u0005\u025d\u0000\u0000\u11ac\u11ad\u0005"+
55496 "\u0018\u0000\u0000\u11ad\u11ae\u0007\u0000\u0000\u0000\u11ae\u11b0\u0005"+
55497 " \u0000\u0000\u11af\u11aa\u0001\u0000\u0000\u0000\u11af\u11b0\u0001\u0000"+
55498 "\u0000\u0000\u11b0\u11b2\u0001\u0000\u0000\u0000\u11b1\u11a8\u0001\u0000"+
55499 "\u0000\u0000\u11b1\u11a9\u0001\u0000\u0000\u0000\u11b2\u11ba\u0001\u0000"+
55500 "\u0000\u0000\u11b3\u11b4\u0005\u025b\u0000\u0000\u11b4\u11ba\u0007\u0000"+
55501 "\u0000\u0000\u11b5\u11b6\u0005\u025a\u0000\u0000\u11b6\u11ba\u0007\u0000"+
55502 "\u0000\u0000\u11b7\u11b8\u0005\u0259\u0000\u0000\u11b8\u11ba\u0007\u0000"+
55503 "\u0000\u0000\u11b9\u11a5\u0001\u0000\u0000\u0000\u11b9\u11a7\u0001\u0000"+
55504 "\u0000\u0000\u11b9\u11b3\u0001\u0000\u0000\u0000\u11b9\u11b5\u0001\u0000"+
55505 "\u0000\u0000\u11b9\u11b7\u0001\u0000\u0000\u0000\u11ba\u026d\u0001\u0000"+
55506 "\u0000\u0000\u11bb\u11bc\u0005\u0257\u0000\u0000\u11bc\u11bd\u0005\u001f"+
55507 "\u0000\u0000\u11bd\u11be\u0005\u0258\u0000\u0000\u11be\u11bf\u0005\u0018"+
55508 "\u0000\u0000\u11bf\u11c0\u0007\u0000\u0000\u0000\u11c0\u11c1\u0005 \u0000"+
55509 "\u0000\u11c1\u026f\u0001\u0000\u0000\u0000\u11c2\u11d6\u0005\u0256\u0000"+
55510 "\u0000\u11c3\u11c4\u0005\u0018\u0000\u0000\u11c4\u11d7\u0005b\u0000\u0000"+
55511 "\u11c5\u11c6\u0005\u0018\u0000\u0000\u11c6\u11c8\u0005a\u0000\u0000\u11c7"+
55512 "\u11c5\u0001\u0000\u0000\u0000\u11c7\u11c8\u0001\u0000\u0000\u0000\u11c8"+
55513 "\u11d4\u0001\u0000\u0000\u0000\u11c9\u11ca\u0005\u001f\u0000\u0000\u11ca"+
55514 "\u11cf\u0003\u0272\u0139\u0000\u11cb\u11cc\u0005%\u0000\u0000\u11cc\u11ce"+
55515 "\u0003\u0272\u0139\u0000\u11cd\u11cb\u0001\u0000\u0000\u0000\u11ce\u11d1"+
55516 "\u0001\u0000\u0000\u0000\u11cf\u11cd\u0001\u0000\u0000\u0000\u11cf\u11d0"+
55517 "\u0001\u0000\u0000\u0000\u11d0\u11d2\u0001\u0000\u0000\u0000\u11d1\u11cf"+
55518 "\u0001\u0000\u0000\u0000\u11d2\u11d3\u0005 \u0000\u0000\u11d3\u11d5\u0001"+
55519 "\u0000\u0000\u0000\u11d4\u11c9\u0001\u0000\u0000\u0000\u11d4\u11d5\u0001"+
55520 "\u0000\u0000\u0000\u11d5\u11d7\u0001\u0000\u0000\u0000\u11d6\u11c3\u0001"+
55521 "\u0000\u0000\u0000\u11d6\u11c7\u0001\u0000\u0000\u0000\u11d7\u0271\u0001"+
55522 "\u0000\u0000\u0000\u11d8\u11d9\u0005\u0255\u0000\u0000\u11d9\u11da\u0005"+
55523 "\u0018\u0000\u0000\u11da\u11e0\u0007\u0000\u0000\u0000\u11db\u11dc\u0005"+
55524 "\u0254\u0000\u0000\u11dc\u11dd\u0005\u0018\u0000\u0000\u11dd\u11de\u0005"+
55525 "\u02b8\u0000\u0000\u11de\u11e0\u0007@\u0000\u0000\u11df\u11d8\u0001\u0000"+
55526 "\u0000\u0000\u11df\u11db\u0001\u0000\u0000\u0000\u11e0\u0273\u0001\u0000"+
55527 "\u0000\u0000\u11e1\u11e2\u0005\u0252\u0000\u0000\u11e2\u11e6\u0007\u0000"+
55528 "\u0000\u0000\u11e3\u11e4\u0005\u0250\u0000\u0000\u11e4\u11e6\u0007A\u0000"+
55529 "\u0000\u11e5\u11e1\u0001\u0000\u0000\u0000\u11e5\u11e3\u0001\u0000\u0000"+
55530 "\u0000\u11e6\u0275\u0001\u0000\u0000\u0000\u11e7\u11e8\u0005\u01ed\u0000"+
55531 "\u0000\u11e8\u11fb\u0007\u0000\u0000\u0000\u11e9\u11ea\u0005\u01ee\u0000"+
55532 "\u0000\u11ea\u11fb\u0007\u0000\u0000\u0000\u11eb\u11ec\u0005\u0278\u0000"+
55533 "\u0000\u11ec\u11ed\u0005\u0018\u0000\u0000\u11ed\u11fb\u0005\u02b7\u0000"+
55534 "\u0000\u11ee\u11ef\u0005\u0279\u0000\u0000\u11ef\u11f0\u0005\u0018\u0000"+
55535 "\u0000\u11f0\u11fb\u0005\u02b7\u0000\u0000\u11f1\u11f2\u0005\u027b\u0000"+
55536 "\u0000\u11f2\u11f3\u0005\u0018\u0000\u0000\u11f3\u11fb\u0007\u0000\u0000"+
55537 "\u0000\u11f4\u11f5\u0005\u027c\u0000\u0000\u11f5\u11f6\u0005\u0018\u0000"+
55538 "\u0000\u11f6\u11fb\u0007\u0000\u0000\u0000\u11f7\u11f8\u0005\u027d\u0000"+
55539 "\u0000\u11f8\u11f9\u0005\u0018\u0000\u0000\u11f9\u11fb\u0005\u02b8\u0000"+
55540 "\u0000\u11fa\u11e7\u0001\u0000\u0000\u0000\u11fa\u11e9\u0001\u0000\u0000"+
55541 "\u0000\u11fa\u11eb\u0001\u0000\u0000\u0000\u11fa\u11ee\u0001\u0000\u0000"+
55542 "\u0000\u11fa\u11f1\u0001\u0000\u0000\u0000\u11fa\u11f4\u0001\u0000\u0000"+
55543 "\u0000\u11fa\u11f7\u0001\u0000\u0000\u0000\u11fb\u0277\u0001\u0000\u0000"+
55544 "\u0000\u11fc\u1210\u0005\u024f\u0000\u0000\u11fd\u11fe\u0005\u0018\u0000"+
55545 "\u0000\u11fe\u1211\u0005b\u0000\u0000\u11ff\u1200\u0005\u0018\u0000\u0000"+
55546 "\u1200\u1202\u0005a\u0000\u0000\u1201\u11ff\u0001\u0000\u0000\u0000\u1201"+
55547 "\u1202\u0001\u0000\u0000\u0000\u1202\u120e\u0001\u0000\u0000\u0000\u1203"+
55548 "\u1204\u0005\u001f\u0000\u0000\u1204\u1209\u0003\u027a\u013d\u0000\u1205"+
55549 "\u1206\u0005%\u0000\u0000\u1206\u1208\u0003\u027a\u013d\u0000\u1207\u1205"+
55550 "\u0001\u0000\u0000\u0000\u1208\u120b\u0001\u0000\u0000\u0000\u1209\u1207"+
55551 "\u0001\u0000\u0000\u0000\u1209\u120a\u0001\u0000\u0000\u0000\u120a\u120c"+
55552 "\u0001\u0000\u0000\u0000\u120b\u1209\u0001\u0000\u0000\u0000\u120c\u120d"+
55553 "\u0005 \u0000\u0000\u120d\u120f\u0001\u0000\u0000\u0000\u120e\u1203\u0001"+
55554 "\u0000\u0000\u0000\u120e\u120f\u0001\u0000\u0000\u0000\u120f\u1211\u0001"+
55555 "\u0000\u0000\u0000\u1210\u11fd\u0001\u0000\u0000\u0000\u1210\u1201\u0001"+
55556 "\u0000\u0000\u0000\u1211\u0279\u0001\u0000\u0000\u0000\u1212\u1213\u0005"+
55557 "\u024e\u0000\u0000\u1213\u1214\u0005\u0018\u0000\u0000\u1214\u123f\u0007"+
55558 ":\u0000\u0000\u1215\u1216\u0005\u024b\u0000\u0000\u1216\u1217\u0005\u0018"+
55559 "\u0000\u0000\u1217\u1218\u0005\u001f\u0000\u0000\u1218\u1219\u0005\u024d"+
55560 "\u0000\u0000\u1219\u121a\u0005\u0018\u0000\u0000\u121a\u121b\u0005\u02b8"+
55561 "\u0000\u0000\u121b\u123f\u0005 \u0000\u0000\u121c\u121d\u0005\u024a\u0000"+
55562 "\u0000\u121d\u121e\u0005\u0018\u0000\u0000\u121e\u123f\u0005\u02b8\u0000"+
55563 "\u0000\u121f\u1220\u0005\u0249\u0000\u0000\u1220\u1221\u0005\u0018\u0000"+
55564 "\u0000\u1221\u123f\u0005\u02b8\u0000\u0000\u1222\u1223\u0005\u0248\u0000"+
55565 "\u0000\u1223\u1224\u0005\u0018\u0000\u0000\u1224\u123f\u0005\u02b8\u0000"+
55566 "\u0000\u1225\u1226\u0005\u0247\u0000\u0000\u1226\u1227\u0005\u0018\u0000"+
55567 "\u0000\u1227\u123f\u0007B\u0000\u0000\u1228\u1229\u0005\u0246\u0000\u0000"+
55568 "\u1229\u122a\u0005\u0018\u0000\u0000\u122a\u123f\u0007C\u0000\u0000\u122b"+
55569 "\u122c\u0005\u0245\u0000\u0000\u122c\u122d\u0005\u0018\u0000\u0000\u122d"+
55570 "\u123f\u0005\u02b8\u0000\u0000\u122e\u122f\u0005\u0244\u0000\u0000\u122f"+
55571 "\u1230\u0005\u0018\u0000\u0000\u1230\u123f\u0007\u0000\u0000\u0000\u1231"+
55572 "\u1232\u0005\u0243\u0000\u0000\u1232\u1233\u0005\u0018\u0000\u0000\u1233"+
55573 "\u1234\u0005\u001f\u0000\u0000\u1234\u1239\u0003\u027c\u013e\u0000\u1235"+
55574 "\u1236\u0005%\u0000\u0000\u1236\u1238\u0003\u027c\u013e\u0000\u1237\u1235"+
55575 "\u0001\u0000\u0000\u0000\u1238\u123b\u0001\u0000\u0000\u0000\u1239\u1237"+
55576 "\u0001\u0000\u0000\u0000\u1239\u123a\u0001\u0000\u0000\u0000\u123a\u123c"+
55577 "\u0001\u0000\u0000\u0000\u123b\u1239\u0001\u0000\u0000\u0000\u123c\u123d"+
55578 "\u0005 \u0000\u0000\u123d\u123f\u0001\u0000\u0000\u0000\u123e\u1212\u0001"+
55579 "\u0000\u0000\u0000\u123e\u1215\u0001\u0000\u0000\u0000\u123e\u121c\u0001"+
55580 "\u0000\u0000\u0000\u123e\u121f\u0001\u0000\u0000\u0000\u123e\u1222\u0001"+
55581 "\u0000\u0000\u0000\u123e\u1225\u0001\u0000\u0000\u0000\u123e\u1228\u0001"+
55582 "\u0000\u0000\u0000\u123e\u122b\u0001\u0000\u0000\u0000\u123e\u122e\u0001"+
55583 "\u0000\u0000\u0000\u123e\u1231\u0001\u0000\u0000\u0000\u123f\u027b\u0001"+
55584 "\u0000\u0000\u0000\u1240\u1241\u0005\u0241\u0000\u0000\u1241\u1242\u0005"+
55585 "\u0018\u0000\u0000\u1242\u1243\u0005\u02b8\u0000\u0000\u1243\u124e\u0007"+
55586 "D\u0000\u0000\u1244\u1245\u0005\u0242\u0000\u0000\u1245\u1246\u0005\u0018"+
55587 "\u0000\u0000\u1246\u124e\u0005\u02b8\u0000\u0000\u1247\u1248\u0005\u0240"+
55588 "\u0000\u0000\u1248\u1249\u0005\u0018\u0000\u0000\u1249\u124e\u0005\u02b8"+
55589 "\u0000\u0000\u124a\u124b\u0005\u023f\u0000\u0000\u124b\u124c\u0005\u0018"+
55590 "\u0000\u0000\u124c\u124e\u0005\u02b8\u0000\u0000\u124d\u1240\u0001\u0000"+
55591 "\u0000\u0000\u124d\u1244\u0001\u0000\u0000\u0000\u124d\u1247\u0001\u0000"+
55592 "\u0000\u0000\u124d\u124a\u0001\u0000\u0000\u0000\u124e\u027d\u0001\u0000"+
55593 "\u0000\u0000\u124f\u1250\u0005\u023e\u0000\u0000\u1250\u1256\u0007E\u0000"+
55594 "\u0000\u1251\u1252\u0005\u023c\u0000\u0000\u1252\u1256\u0007\u0000\u0000"+
55595 "\u0000\u1253\u1254\u0005\u023a\u0000\u0000\u1254\u1256\u0007F\u0000\u0000"+
55596 "\u1255\u124f\u0001\u0000\u0000\u0000\u1255\u1251\u0001\u0000\u0000\u0000"+
55597 "\u1255\u1253\u0001\u0000\u0000\u0000\u1256\u027f\u0001\u0000\u0000\u0000"+
55598 "\u1257\u1258\u0005\u0239\u0000\u0000\u1258\u126d\u0007\u0000\u0000\u0000"+
55599 "\u1259\u125a\u0005\u0238\u0000\u0000\u125a\u126d\u0007\u0000\u0000\u0000"+
55600 "\u125b\u125c\u0005\u0237\u0000\u0000\u125c\u126d\u0007\u0000\u0000\u0000"+
55601 "\u125d\u125e\u0005\u0236\u0000\u0000\u125e\u126d\u0007\u0000\u0000\u0000"+
55602 "\u125f\u1260\u0005\u0235\u0000\u0000\u1260\u126d\u0007\u0000\u0000\u0000"+
55603 "\u1261\u1262\u0005\u0234\u0000\u0000\u1262\u1263\u0005\u0018\u0000\u0000"+
55604 "\u1263\u126d\u0005\u02b8\u0000\u0000\u1264\u1265\u0005\u0233\u0000\u0000"+
55605 "\u1265\u126d\u0007\u0000\u0000\u0000\u1266\u1267\u0005\u0232\u0000\u0000"+
55606 "\u1267\u126d\u0007\u0000\u0000\u0000\u1268\u1269\u0005\u0231\u0000\u0000"+
55607 "\u1269\u126d\u0007\u0000\u0000\u0000\u126a\u126b\u0005\u0230\u0000\u0000"+
55608 "\u126b\u126d\u0007\u0000\u0000\u0000\u126c\u1257\u0001\u0000\u0000\u0000"+
55609 "\u126c\u1259\u0001\u0000\u0000\u0000\u126c\u125b\u0001\u0000\u0000\u0000"+
55610 "\u126c\u125d\u0001\u0000\u0000\u0000\u126c\u125f\u0001\u0000\u0000\u0000"+
55611 "\u126c\u1261\u0001\u0000\u0000\u0000\u126c\u1264\u0001\u0000\u0000\u0000"+
55612 "\u126c\u1266\u0001\u0000\u0000\u0000\u126c\u1268\u0001\u0000\u0000\u0000"+
55613 "\u126c\u126a\u0001\u0000\u0000\u0000\u126d\u0281\u0001\u0000\u0000\u0000"+
55614 "\u126e\u126f\u0005\u022f\u0000\u0000\u126f\u1276\u0007\u0000\u0000\u0000"+
55615 "\u1270\u1271\u0005\u022e\u0000\u0000\u1271\u1276\u0007\u0000\u0000\u0000"+
55616 "\u1272\u1273\u0005\u022d\u0000\u0000\u1273\u1274\u0005\u0018\u0000\u0000"+
55617 "\u1274\u1276\u0007\u0000\u0000\u0000\u1275\u126e\u0001\u0000\u0000\u0000"+
55618 "\u1275\u1270\u0001\u0000\u0000\u0000\u1275\u1272\u0001\u0000\u0000\u0000"+
55619 "\u1276\u0283\u0001\u0000\u0000\u0000\u1277\u127e\u0005\u022c\u0000\u0000"+
55620 "\u1278\u127e\u0005\u022b\u0000\u0000\u1279\u127e\u0005\u022a\u0000\u0000"+
55621 "\u127a\u127e\u0005\u0229\u0000\u0000\u127b\u127c\u0005\u0228\u0000\u0000"+
55622 "\u127c\u127e\u0007\u0000\u0000\u0000\u127d\u1277\u0001\u0000\u0000\u0000"+
55623 "\u127d\u1278\u0001\u0000\u0000\u0000\u127d\u1279\u0001\u0000\u0000\u0000"+
55624 "\u127d\u127a\u0001\u0000\u0000\u0000\u127d\u127b\u0001\u0000\u0000\u0000"+
55625 "\u127e\u0285\u0001\u0000\u0000\u0000\u127f\u1280\u0005\u0226\u0000\u0000"+
55626 "\u1280\u1281\u0005\u0018\u0000\u0000\u1281\u1282\u0005\u02b8\u0000\u0000"+
55627 "\u1282\u1283\u0007G\u0000\u0000\u1283\u0287\u0001\u0000\u0000\u0000\u1284"+
55628 "\u1285\u0005\u007f\u0000\u0000\u1285\u1286\u0005\u0209\u0000\u0000\u1286"+
55629 "\u1288\u0005\u02b8\u0000\u0000\u1287\u1289\u0005\u0227\u0000\u0000\u1288"+
55630 "\u1287\u0001\u0000\u0000\u0000\u1288\u1289\u0001\u0000\u0000\u0000\u1289"+
55631 "\u128e\u0001\u0000\u0000\u0000\u128a\u128b\u0005\u007f\u0000\u0000\u128b"+
55632 "\u128e\u0005\u0224\u0000\u0000\u128c\u128e\u0005\u0225\u0000\u0000\u128d"+
55633 "\u1284\u0001\u0000\u0000\u0000\u128d\u128a\u0001\u0000\u0000\u0000\u128d"+
55634 "\u128c\u0001\u0000\u0000\u0000\u128e\u0289\u0001\u0000\u0000\u0000\u128f"+
55635 "\u1290\u0005\u001f\u0000\u0000\u1290\u1295\u0003D\"\u0000\u1291\u1292"+
55636 "\u0005%\u0000\u0000\u1292\u1294\u0003D\"\u0000\u1293\u1291\u0001\u0000"+
55637 "\u0000\u0000\u1294\u1297\u0001\u0000\u0000\u0000\u1295\u1293\u0001\u0000"+
55638 "\u0000\u0000\u1295\u1296\u0001\u0000\u0000\u0000\u1296\u1298\u0001\u0000"+
55639 "\u0000\u0000\u1297\u1295\u0001\u0000\u0000\u0000\u1298\u1299\u0005 \u0000"+
55640 "\u0000\u1299\u028b\u0001\u0000\u0000\u0000\u129a\u129b\u0005\u001f\u0000"+
55641 "\u0000\u129b\u12a0\u0003\u028e\u0147\u0000\u129c\u129d\u0005%\u0000\u0000"+
55642 "\u129d\u129f\u0003\u028e\u0147\u0000\u129e\u129c\u0001\u0000\u0000\u0000"+
55643 "\u129f\u12a2\u0001\u0000\u0000\u0000\u12a0\u129e\u0001\u0000\u0000\u0000"+
55644 "\u12a0\u12a1\u0001\u0000\u0000\u0000\u12a1\u12a3\u0001\u0000\u0000\u0000"+
55645 "\u12a2\u12a0\u0001\u0000\u0000\u0000\u12a3\u12a4\u0005 \u0000\u0000\u12a4"+
55646 "\u028d\u0001\u0000\u0000\u0000\u12a5\u12a6\u00059\u0000\u0000\u12a6\u12a7"+
55647 "\u0005\u015c\u0000\u0000\u12a7\u12ac\u0003D\"\u0000\u12a8\u12a9\u0005"+
55648 "4\u0000\u0000\u12a9\u12aa\u0005\u015c\u0000\u0000\u12aa\u12ac\u0003D\""+
55649 "\u0000\u12ab\u12a5\u0001\u0000\u0000\u0000\u12ab\u12a8\u0001\u0000\u0000"+
55650 "\u0000\u12ac\u028f\u0001\u0000\u0000\u0000\u12ad\u12b5\u00034\u001a\u0000"+
55651 "\u12ae\u12af\u0005\u0282\u0000\u0000\u12af\u12b5\u0003\u00cae\u0000\u12b0"+
55652 "\u12b1\u00034\u001a\u0000\u12b1\u12b2\u0005\u0282\u0000\u0000\u12b2\u12b3"+
55653 "\u0003\u00cae\u0000\u12b3\u12b5\u0001\u0000\u0000\u0000\u12b4\u12ad\u0001"+
55654 "\u0000\u0000\u0000\u12b4\u12ae\u0001\u0000\u0000\u0000\u12b4\u12b0\u0001"+
55655 "\u0000\u0000\u0000\u12b5\u0291\u0001\u0000\u0000\u0000\u12b6\u12bc\u0003"+
55656 "\u00e6s\u0000\u12b7\u12bc\u0003\u00f2y\u0000\u12b8\u12bc\u0003\u030c\u0186"+
55657 "\u0000\u12b9\u12bc\u0003\u031e\u018f\u0000\u12ba\u12bc\u0003\u0324\u0192"+
55658 "\u0000\u12bb\u12b6\u0001\u0000\u0000\u0000\u12bb\u12b7\u0001\u0000\u0000"+
55659 "\u0000\u12bb\u12b8\u0001\u0000\u0000\u0000\u12bb\u12b9\u0001\u0000\u0000"+
55660 "\u0000\u12bb\u12ba\u0001\u0000\u0000\u0000\u12bc\u0293\u0001\u0000\u0000"+
55661 "\u0000\u12bd\u12c0\u0003\u0296\u014b\u0000\u12be\u12c0\u0003\u0298\u014c"+
55662 "\u0000\u12bf\u12bd\u0001\u0000\u0000\u0000\u12bf\u12be\u0001\u0000\u0000"+
55663 "\u0000\u12c0\u0295\u0001\u0000\u0000\u0000\u12c1\u12c2\u00052\u0000\u0000"+
55664 "\u12c2\u12c3\u0005;\u0000\u0000\u12c3\u12c5\u0003@ \u0000\u12c4\u12c6"+
55665 "\u0003P(\u0000\u12c5\u12c4\u0001\u0000\u0000\u0000\u12c5\u12c6\u0001\u0000"+
55666 "\u0000\u0000\u12c6\u12c7\u0001\u0000\u0000\u0000\u12c7\u12c8\u0003\u029a"+
55667 "\u014d\u0000\u12c8\u12c9\u0005`\u0000\u0000\u12c9\u12ca\u0003\u02bc\u015e"+
55668 "\u0000\u12ca\u12cb\u0003\u029c\u014e\u0000\u12cb\u0297\u0001\u0000\u0000"+
55669 "\u0000\u12cc\u12cd\u00052\u0000\u0000\u12cd\u12ce\u0005\u0168\u0000\u0000"+
55670 "\u12ce\u12cf\u0005;\u0000\u0000\u12cf\u12d0\u0003@ \u0000\u12d0\u12d1"+
55671 "\u0005\u00d4\u0000\u0000\u12d1\u12d2\u0005\u001f\u0000\u0000\u12d2\u12d3"+
55672 "\u0003\u001c\u000e\u0000\u12d3\u12da\u0005 \u0000\u0000\u12d4\u12d5\u0005"+
55673 "M\u0000\u0000\u12d5\u12d6\u0005\u001f\u0000\u0000\u12d6\u12d7\u0005\u0286"+
55674 "\u0000\u0000\u12d7\u12d8\u0005\u0018\u0000\u0000\u12d8\u12d9\u0005\u02b9"+
55675 "\u0000\u0000\u12d9\u12db\u0005 \u0000\u0000\u12da\u12d4\u0001\u0000\u0000"+
55676 "\u0000\u12da\u12db\u0001\u0000\u0000\u0000\u12db\u12dc\u0001\u0000\u0000"+
55677 "\u0000\u12dc\u12dd\u0005`\u0000\u0000\u12dd\u12de\u0003\u02bc\u015e\u0000"+
55678 "\u12de\u0299\u0001\u0000\u0000\u0000\u12df\u12e0\u0005M\u0000\u0000\u12e0"+
55679 "\u12e1\u0005\u001f\u0000\u0000\u12e1\u12eb\u0003\u019a\u00cd\u0000\u12e2"+
55680 "\u12e3\u0005%\u0000\u0000\u12e3\u12e8\u0003\u018e\u00c7\u0000\u12e4\u12e5"+
55681 "\u0005%\u0000\u0000\u12e5\u12e7\u0003\u018e\u00c7\u0000\u12e6\u12e4\u0001"+
55682 "\u0000\u0000\u0000\u12e7\u12ea\u0001\u0000\u0000\u0000\u12e8\u12e6\u0001"+
55683 "\u0000\u0000\u0000\u12e8\u12e9\u0001\u0000\u0000\u0000\u12e9\u12ec\u0001"+
55684 "\u0000\u0000\u0000\u12ea\u12e8\u0001\u0000\u0000\u0000\u12eb\u12e2\u0001"+
55685 "\u0000\u0000\u0000\u12eb\u12ec\u0001\u0000\u0000\u0000\u12ec\u12ed\u0001"+
55686 "\u0000\u0000\u0000\u12ed\u12ee\u0005 \u0000\u0000\u12ee\u029b\u0001\u0000"+
55687 "\u0000\u0000\u12ef\u12f0\u0005\u00e9\u0000\u0000\u12f0\u12f1\u0005\u001f"+
55688 "\u0000\u0000\u12f1\u12f6\u0003\u02f4\u017a\u0000\u12f2\u12f3\u0005%\u0000"+
55689 "\u0000\u12f3\u12f5\u0003\u02f4\u017a\u0000\u12f4\u12f2\u0001\u0000\u0000"+
55690 "\u0000\u12f5\u12f8\u0001\u0000\u0000\u0000\u12f6\u12f4\u0001\u0000\u0000"+
55691 "\u0000\u12f6\u12f7\u0001\u0000\u0000\u0000\u12f7\u12f9\u0001\u0000\u0000"+
55692 "\u0000\u12f8\u12f6\u0001\u0000\u0000\u0000\u12f9\u12fa\u0005 \u0000\u0000"+
55693 "\u12fa\u12fc\u0001\u0000\u0000\u0000\u12fb\u12ef\u0001\u0000\u0000\u0000"+
55694 "\u12fb\u12fc\u0001\u0000\u0000\u0000\u12fc\u029d\u0001\u0000\u0000\u0000"+
55695 "\u12fd\u12ff\u0003\u02e4\u0172\u0000\u12fe\u12fd\u0001\u0000\u0000\u0000"+
55696 "\u12fe\u12ff\u0001\u0000\u0000\u0000\u12ff\u1300\u0001\u0000\u0000\u0000"+
55697 "\u1300\u1302\u0005/\u0000\u0000\u1301\u1303\u0003\u02c8\u0164\u0000\u1302"+
55698 "\u1301\u0001\u0000\u0000\u0000\u1302\u1303\u0001\u0000\u0000\u0000\u1303"+
55699 "\u1305\u0001\u0000\u0000\u0000\u1304\u1306\u0005K\u0000\u0000\u1305\u1304"+
55700 "\u0001\u0000\u0000\u0000\u1305\u1306\u0001\u0000\u0000\u0000\u1306\u1307"+
55701 "\u0001\u0000\u0000\u0000\u1307\u130c\u0003@ \u0000\u1308\u130a\u0005`"+
55702 "\u0000\u0000\u1309\u1308\u0001\u0000\u0000\u0000\u1309\u130a\u0001\u0000"+
55703 "\u0000\u0000\u130a\u130b\u0001\u0000\u0000\u0000\u130b\u130d\u0003\\."+
55704 "\u0000\u130c\u1309\u0001\u0000\u0000\u0000\u130c\u130d\u0001\u0000\u0000"+
55705 "\u0000\u130d\u1312\u0001\u0000\u0000\u0000\u130e\u1313\u0003\u02a0\u0150"+
55706 "\u0000\u130f\u1313\u0003\u02a2\u0151\u0000\u1310\u1313\u0003\u02a4\u0152"+
55707 "\u0000\u1311\u1313\u0003\u02a6\u0153\u0000\u1312\u130e\u0001\u0000\u0000"+
55708 "\u0000\u1312\u130f\u0001\u0000\u0000\u0000\u1312\u1310\u0001\u0000\u0000"+
55709 "\u0000\u1312\u1311\u0001\u0000\u0000\u0000\u1313\u029f\u0001\u0000\u0000"+
55710 "\u0000\u1314\u1316\u0003P(\u0000\u1315\u1314\u0001\u0000\u0000\u0000\u1315"+
55711 "\u1316\u0001\u0000\u0000\u0000\u1316\u1318\u0001\u0000\u0000\u0000\u1317"+
55712 "\u1319\u0003\u02ea\u0175\u0000\u1318\u1317\u0001\u0000\u0000\u0000\u1318"+
55713 "\u1319\u0001\u0000\u0000\u0000\u1319\u131a\u0001\u0000\u0000\u0000\u131a"+
55714 "\u131b\u0005\u009a\u0000\u0000\u131b\u131c\u0005L\u0000\u0000\u131c\u02a1"+
55715 "\u0001\u0000\u0000\u0000\u131d\u131f\u0003P(\u0000\u131e\u131d\u0001\u0000"+
55716 "\u0000\u0000\u131e\u131f\u0001\u0000\u0000\u0000\u131f\u1321\u0001\u0000"+
55717 "\u0000\u0000\u1320\u1322\u0003\u02ea\u0175\u0000\u1321\u1320\u0001\u0000"+
55718 "\u0000\u0000\u1321\u1322\u0001\u0000\u0000\u0000\u1322\u1323\u0001\u0000"+
55719 "\u0000\u0000\u1323\u1324\u0005L\u0000\u0000\u1324\u1329\u0003\u02b0\u0158"+
55720 "\u0000\u1325\u1326\u0005%\u0000\u0000\u1326\u1328\u0003\u02b0\u0158\u0000"+
55721 "\u1327\u1325\u0001\u0000\u0000\u0000\u1328\u132b\u0001\u0000\u0000\u0000"+
55722 "\u1329\u1327\u0001\u0000\u0000\u0000\u1329\u132a\u0001\u0000\u0000\u0000"+
55723 "\u132a\u02a3\u0001\u0000\u0000\u0000\u132b\u1329\u0001\u0000\u0000\u0000"+
55724 "\u132c\u132e\u0003P(\u0000\u132d\u132c\u0001\u0000\u0000\u0000\u132d\u132e"+
55725 "\u0001\u0000\u0000\u0000\u132e\u1330\u0001\u0000\u0000\u0000\u132f\u1331"+
55726 "\u0003\u02ea\u0175\u0000\u1330\u132f\u0001\u0000\u0000\u0000\u1330\u1331"+
55727 "\u0001\u0000\u0000\u0000\u1331\u1332\u0001\u0000\u0000\u0000\u1332\u1333"+
55728 "\u0003\u02bc\u015e\u0000\u1333\u02a5\u0001\u0000\u0000\u0000\u1334\u1336"+
55729 "\u0003P(\u0000\u1335\u1334\u0001\u0000\u0000\u0000\u1335\u1336\u0001\u0000"+
55730 "\u0000\u0000\u1336\u1337\u0001\u0000\u0000\u0000\u1337\u1338\u0003\u02a8"+
55731 "\u0154\u0000\u1338\u02a7\u0001\u0000\u0000\u0000\u1339\u133a\u0007\u001a"+
55732 "\u0000\u0000\u133a\u1343\u00038\u001c\u0000\u133b\u1340\u0003b1\u0000"+
55733 "\u133c\u133d\u0005%\u0000\u0000\u133d\u133f\u0003b1\u0000\u133e\u133c"+
55734 "\u0001\u0000\u0000\u0000\u133f\u1342\u0001\u0000\u0000\u0000\u1340\u133e"+
55735 "\u0001\u0000\u0000\u0000\u1340\u1341\u0001\u0000\u0000\u0000\u1341\u1344"+
55736 "\u0001\u0000\u0000\u0000\u1342\u1340\u0001\u0000\u0000\u0000\u1343\u133b"+
55737 "\u0001\u0000\u0000\u0000\u1343\u1344\u0001\u0000\u0000\u0000\u1344\u02a9"+
55738 "\u0001\u0000\u0000\u0000\u1345\u1347\u0003\u02e4\u0172\u0000\u1346\u1345"+
55739 "\u0001\u0000\u0000\u0000\u1346\u1347\u0001\u0000\u0000\u0000\u1347\u1348"+
55740 "\u0001\u0000\u0000\u0000\u1348\u134a\u00050\u0000\u0000\u1349\u134b\u0003"+
55741 "\u02c8\u0164\u0000\u134a\u1349\u0001\u0000\u0000\u0000\u134a\u134b\u0001"+
55742 "\u0000\u0000\u0000\u134b\u134c\u0001\u0000\u0000\u0000\u134c\u134d\u0003"+
55743 "\u02d2\u0169\u0000\u134d\u134f\u0003\u02ae\u0157\u0000\u134e\u1350\u0003"+
55744 "\u02dc\u016e\u0000\u134f\u134e\u0001\u0000\u0000\u0000\u134f\u1350\u0001"+
55745 "\u0000\u0000\u0000\u1350\u1353\u0001\u0000\u0000\u0000\u1351\u1352\u0005"+
55746 "\u00e9\u0000\u0000\u1352\u1354\u0003\u02f4\u017a\u0000\u1353\u1351\u0001"+
55747 "\u0000\u0000\u0000\u1353\u1354\u0001\u0000\u0000\u0000\u1354\u02ab\u0001"+
55748 "\u0000\u0000\u0000\u1355\u1356\u0003H$\u0000\u1356\u1357\u0005\u0018\u0000"+
55749 "\u0000\u1357\u1358\u0003\u02b2\u0159\u0000\u1358\u02ad\u0001\u0000\u0000"+
55750 "\u0000\u1359\u135a\u0005:\u0000\u0000\u135a\u135f\u0003\u02ac\u0156\u0000"+
55751 "\u135b\u135c\u0005%\u0000\u0000\u135c\u135e\u0003\u02ac\u0156\u0000\u135d"+
55752 "\u135b\u0001\u0000\u0000\u0000\u135e\u1361\u0001\u0000\u0000\u0000\u135f"+
55753 "\u135d\u0001\u0000\u0000\u0000\u135f\u1360\u0001\u0000\u0000\u0000\u1360"+
55754 "\u1363\u0001\u0000\u0000\u0000\u1361\u135f\u0001\u0000\u0000\u0000\u1362"+
55755 "\u1364\u0003\u02d0\u0168\u0000\u1363\u1362\u0001\u0000\u0000\u0000\u1363"+
55756 "\u1364\u0001\u0000\u0000\u0000\u1364\u02af\u0001\u0000\u0000\u0000\u1365"+
55757 "\u1366\u0005\u001f\u0000\u0000\u1366\u136b\u0003\u02b2\u0159\u0000\u1367"+
55758 "\u1368\u0005%\u0000\u0000\u1368\u136a\u0003\u02b2\u0159\u0000\u1369\u1367"+
55759 "\u0001\u0000\u0000\u0000\u136a\u136d\u0001\u0000\u0000\u0000\u136b\u1369"+
55760 "\u0001\u0000\u0000\u0000\u136b\u136c\u0001\u0000\u0000\u0000\u136c\u136e"+
55761 "\u0001\u0000\u0000\u0000\u136d\u136b\u0001\u0000\u0000\u0000\u136e\u136f"+
55762 "\u0005 \u0000\u0000\u136f\u1373\u0001\u0000\u0000\u0000\u1370\u1371\u0005"+
55763 "\u001f\u0000\u0000\u1371\u1373\u0005 \u0000\u0000\u1372\u1365\u0001\u0000"+
55764 "\u0000\u0000\u1372\u1370\u0001\u0000\u0000\u0000\u1373\u02b1\u0001\u0000"+
55765 "\u0000\u0000\u1374\u1377\u0003b1\u0000\u1375\u1377\u0005\u009a\u0000\u0000"+
55766 "\u1376\u1374\u0001\u0000\u0000\u0000\u1376\u1375\u0001\u0000\u0000\u0000"+
55767 "\u1377\u02b3\u0001\u0000\u0000\u0000\u1378\u137a\u0003\u02e4\u0172\u0000"+
55768 "\u1379\u1378\u0001\u0000\u0000\u0000\u1379\u137a\u0001\u0000\u0000\u0000"+
55769 "\u137a\u137b\u0001\u0000\u0000\u0000\u137b\u137d\u00051\u0000\u0000\u137c"+
55770 "\u137e\u0003\u02c8\u0164\u0000\u137d\u137c\u0001\u0000\u0000\u0000\u137d"+
55771 "\u137e\u0001\u0000\u0000\u0000\u137e\u1381\u0001\u0000\u0000\u0000\u137f"+
55772 "\u1382\u0003\u02b6\u015b\u0000\u1380\u1382\u0003\u02b8\u015c\u0000\u1381"+
55773 "\u137f\u0001\u0000\u0000\u0000\u1381\u1380\u0001\u0000\u0000\u0000\u1382"+
55774 "\u1384\u0001\u0000\u0000\u0000\u1383\u1385\u0003\u02ea\u0175\u0000\u1384"+
55775 "\u1383\u0001\u0000\u0000\u0000\u1384\u1385\u0001\u0000\u0000\u0000\u1385"+
55776 "\u1387\u0001\u0000\u0000\u0000\u1386\u1388\u0003\u02dc\u016e\u0000\u1387"+
55777 "\u1386\u0001\u0000\u0000\u0000\u1387\u1388\u0001\u0000\u0000\u0000\u1388"+
55778 "\u138b\u0001\u0000\u0000\u0000\u1389\u138a\u0005\u00e9\u0000\u0000\u138a"+
55779 "\u138c\u0003\u02f4\u017a\u0000\u138b\u1389\u0001\u0000\u0000\u0000\u138b"+
55780 "\u138c\u0001\u0000\u0000\u0000\u138c\u02b5\u0001\u0000\u0000\u0000\u138d"+
55781 "\u138f\u0005U\u0000\u0000\u138e\u138d\u0001\u0000\u0000\u0000\u138e\u138f"+
55782 "\u0001\u0000\u0000\u0000\u138f\u1391\u0001\u0000\u0000\u0000\u1390\u1392"+
55783 "\u0005\u001f\u0000\u0000\u1391\u1390\u0001\u0000\u0000\u0000\u1391\u1392"+
55784 "\u0001\u0000\u0000\u0000\u1392\u1393\u0001\u0000\u0000\u0000\u1393\u1395"+
55785 "\u0003@ \u0000\u1394\u1396\u0005 \u0000\u0000\u1395\u1394\u0001\u0000"+
55786 "\u0000\u0000\u1395\u1396\u0001\u0000\u0000\u0000\u1396\u139b\u0001\u0000"+
55787 "\u0000\u0000\u1397\u1399\u0005`\u0000\u0000\u1398\u1397\u0001\u0000\u0000"+
55788 "\u0000\u1398\u1399\u0001\u0000\u0000\u0000\u1399\u139a\u0001\u0000\u0000"+
55789 "\u0000\u139a\u139c\u0003\\.\u0000\u139b\u1398\u0001\u0000\u0000\u0000"+
55790 "\u139b\u139c\u0001\u0000\u0000\u0000\u139c\u02b7\u0001\u0000\u0000\u0000"+
55791 "\u139d\u139e\u0003\u02ba\u015d\u0000\u139e\u139f\u0005U\u0000\u0000\u139f"+
55792 "\u13a0\u0003\u02d2\u0169\u0000\u13a0\u13a7\u0001\u0000\u0000\u0000\u13a1"+
55793 "\u13a2\u0005U\u0000\u0000\u13a2\u13a3\u0003\u02ba\u015d\u0000\u13a3\u13a4"+
55794 "\u0005^\u0000\u0000\u13a4\u13a5\u0003\u02d2\u0169\u0000\u13a5\u13a7\u0001"+
55795 "\u0000\u0000\u0000\u13a6\u139d\u0001\u0000\u0000\u0000\u13a6\u13a1\u0001"+
55796 "\u0000\u0000\u0000\u13a7\u02b9\u0001\u0000\u0000\u0000\u13a8\u13aa\u0003"+
55797 "@ \u0000\u13a9\u13ab\u0005\u0015\u0000\u0000\u13aa\u13a9\u0001\u0000\u0000"+
55798 "\u0000\u13aa\u13ab\u0001\u0000\u0000\u0000\u13ab\u13b3\u0001\u0000\u0000"+
55799 "\u0000\u13ac\u13ad\u0005%\u0000\u0000\u13ad\u13af\u0003@ \u0000\u13ae"+
55800 "\u13b0\u0005\u0015\u0000\u0000\u13af\u13ae\u0001\u0000\u0000\u0000\u13af"+
55801 "\u13b0\u0001\u0000\u0000\u0000\u13b0\u13b2\u0001\u0000\u0000\u0000\u13b1"+
55802 "\u13ac\u0001\u0000\u0000\u0000\u13b2\u13b5\u0001\u0000\u0000\u0000\u13b3"+
55803 "\u13b1\u0001\u0000\u0000\u0000\u13b3\u13b4\u0001\u0000\u0000\u0000\u13b4"+
55804 "\u02bb\u0001\u0000\u0000\u0000\u13b5\u13b3\u0001\u0000\u0000\u0000\u13b6"+
55805 "\u13b7\u0003\u02be\u015f\u0000\u13b7\u02bd\u0001\u0000\u0000\u0000\u13b8"+
55806 "\u13c4\u0003\u02c0\u0160\u0000\u13b9\u13bb\u0005N\u0000\u0000\u13ba\u13bc"+
55807 "\u0005r\u0000\u0000\u13bb\u13ba\u0001\u0000\u0000\u0000\u13bb\u13bc\u0001"+
55808 "\u0000\u0000\u0000\u13bc\u13c0\u0001\u0000\u0000\u0000\u13bd\u13c0\u0005"+
55809 "\u00bc\u0000\u0000\u13be\u13c0\u0005\u00bd\u0000\u0000\u13bf\u13b9\u0001"+
55810 "\u0000\u0000\u0000\u13bf\u13bd\u0001\u0000\u0000\u0000\u13bf\u13be\u0001"+
55811 "\u0000\u0000\u0000\u13c0\u13c1\u0001\u0000\u0000\u0000\u13c1\u13c3\u0003"+
55812 "\u02c0\u0160\u0000\u13c2\u13bf\u0001\u0000\u0000\u0000\u13c3\u13c6\u0001"+
55813 "\u0000\u0000\u0000\u13c4\u13c2\u0001\u0000\u0000\u0000\u13c4\u13c5\u0001"+
55814 "\u0000\u0000\u0000\u13c5\u02bf\u0001\u0000\u0000\u0000\u13c6\u13c4\u0001"+
55815 "\u0000\u0000\u0000\u13c7\u13c9\u0003\u0300\u0180\u0000\u13c8\u13c7\u0001"+
55816 "\u0000\u0000\u0000\u13c8\u13c9\u0001\u0000\u0000\u0000\u13c9\u13ca\u0001"+
55817 "\u0000\u0000\u0000\u13ca\u13cc\u0005.\u0000\u0000\u13cb\u13cd\u0003\u02c2"+
55818 "\u0161\u0000\u13cc\u13cb\u0001\u0000\u0000\u0000\u13cc\u13cd\u0001\u0000"+
55819 "\u0000\u0000\u13cd\u13ce\u0001\u0000\u0000\u0000\u13ce\u13d0\u0003\u02c4"+
55820 "\u0162\u0000\u13cf\u13d1\u0003\u02d0\u0168\u0000\u13d0\u13cf\u0001\u0000"+
55821 "\u0000\u0000\u13d0\u13d1\u0001\u0000\u0000\u0000\u13d1\u13d3\u0001\u0000"+
55822 "\u0000\u0000\u13d2\u13d4\u0003\u02dc\u016e\u0000\u13d3\u13d2\u0001\u0000"+
55823 "\u0000\u0000\u13d3\u13d4\u0001\u0000\u0000\u0000\u13d4\u13d6\u0001\u0000"+
55824 "\u0000\u0000\u13d5\u13d7\u0003\u02de\u016f\u0000\u13d6\u13d5\u0001\u0000"+
55825 "\u0000\u0000\u13d6\u13d7\u0001\u0000\u0000\u0000\u13d7\u13d9\u0001\u0000"+
55826 "\u0000\u0000\u13d8\u13da\u0003\u02e0\u0170\u0000\u13d9\u13d8\u0001\u0000"+
55827 "\u0000\u0000\u13d9\u13da\u0001\u0000\u0000\u0000\u13da\u13dc\u0001\u0000"+
55828 "\u0000\u0000\u13db\u13dd\u0003\u0090H\u0000\u13dc\u13db\u0001\u0000\u0000"+
55829 "\u0000\u13dc\u13dd\u0001\u0000\u0000\u0000\u13dd\u13df\u0001\u0000\u0000"+
55830 "\u0000\u13de\u13e0\u0003\u02f8\u017c\u0000\u13df\u13de\u0001\u0000\u0000"+
55831 "\u0000\u13df\u13e0\u0001\u0000\u0000\u0000\u13e0\u02c1\u0001\u0000\u0000"+
55832 "\u0000\u13e1\u13e2\u0007H\u0000\u0000\u13e2\u02c3\u0001\u0000\u0000\u0000"+
55833 "\u13e3\u13e9\u0003\u02c6\u0163\u0000\u13e4\u13e6\u0003\u02c8\u0164\u0000"+
55834 "\u13e5\u13e7\u0003\u02c6\u0163\u0000\u13e6\u13e5\u0001\u0000\u0000\u0000"+
55835 "\u13e6\u13e7\u0001\u0000\u0000\u0000\u13e7\u13e9\u0001\u0000\u0000\u0000"+
55836 "\u13e8\u13e3\u0001\u0000\u0000\u0000\u13e8\u13e4\u0001\u0000\u0000\u0000"+
55837 "\u13e9\u13ee\u0001\u0000\u0000\u0000\u13ea\u13eb\u0005%\u0000\u0000\u13eb"+
55838 "\u13ed\u0003\u02c6\u0163\u0000\u13ec\u13ea\u0001\u0000\u0000\u0000\u13ed"+
55839 "\u13f0\u0001\u0000\u0000\u0000\u13ee\u13ec\u0001\u0000\u0000\u0000\u13ee"+
55840 "\u13ef\u0001\u0000\u0000\u0000\u13ef\u02c5\u0001\u0000\u0000\u0000\u13f0"+
55841 "\u13ee\u0001\u0000\u0000\u0000\u13f1\u1407\u0003\u02ce\u0167\u0000\u13f2"+
55842 "\u1407\u0003\u02cc\u0166\u0000\u13f3\u13f4\u0003\\.\u0000\u13f4\u13f5"+
55843 "\u0005\u0018\u0000\u0000\u13f5\u13f7\u0001\u0000\u0000\u0000\u13f6\u13f3"+
55844 "\u0001\u0000\u0000\u0000\u13f6\u13f7\u0001\u0000\u0000\u0000\u13f7\u13fa"+
55845 "\u0001\u0000\u0000\u0000\u13f8\u13fb\u0003H$\u0000\u13f9\u13fb\u0003b"+
55846 "1\u0000\u13fa\u13f8\u0001\u0000\u0000\u0000\u13fa\u13f9\u0001\u0000\u0000"+
55847 "\u0000\u13fb\u1407\u0001\u0000\u0000\u0000\u13fc\u13ff\u0003H$\u0000\u13fd"+
55848 "\u13ff\u0003b1\u0000\u13fe\u13fc\u0001\u0000\u0000\u0000\u13fe\u13fd\u0001"+
55849 "\u0000\u0000\u0000\u13ff\u1404\u0001\u0000\u0000\u0000\u1400\u1402\u0005"+
55850 "`\u0000\u0000\u1401\u1400\u0001\u0000\u0000\u0000\u1401\u1402\u0001\u0000"+
55851 "\u0000\u0000\u1402\u1403\u0001\u0000\u0000\u0000\u1403\u1405\u0003\\."+
55852 "\u0000\u1404\u1401\u0001\u0000\u0000\u0000\u1404\u1405\u0001\u0000\u0000"+
55853 "\u0000\u1405\u1407\u0001\u0000\u0000\u0000\u1406\u13f1\u0001\u0000\u0000"+
55854 "\u0000\u1406\u13f2\u0001\u0000\u0000\u0000\u1406\u13f6\u0001\u0000\u0000"+
55855 "\u0000\u1406\u13fe\u0001\u0000\u0000\u0000\u1407\u02c7\u0001\u0000\u0000"+
55856 "\u0000\u1408\u140a\u0005\u00df\u0000\u0000\u1409\u140b\u0005\u001f\u0000"+
55857 "\u0000\u140a\u1409\u0001\u0000\u0000\u0000\u140a\u140b\u0001\u0000\u0000"+
55858 "\u0000\u140b\u140c\u0001\u0000\u0000\u0000\u140c\u140e\u0003\u02ca\u0165"+
55859 "\u0000\u140d\u140f\u0005 \u0000\u0000\u140e\u140d\u0001\u0000\u0000\u0000"+
55860 "\u140e\u140f\u0001\u0000\u0000\u0000\u140f\u1411\u0001\u0000\u0000\u0000"+
55861 "\u1410\u1412\u0005\u00ba\u0000\u0000\u1411\u1410\u0001\u0000\u0000\u0000"+
55862 "\u1411\u1412\u0001\u0000\u0000\u0000\u1412\u1415\u0001\u0000\u0000\u0000"+
55863 "\u1413\u1414\u0005M\u0000\u0000\u1414\u1416\u0005\u00bb\u0000\u0000\u1415"+
55864 "\u1413\u0001\u0000\u0000\u0000\u1415\u1416\u0001\u0000\u0000\u0000\u1416"+
55865 "\u1424\u0001\u0000\u0000\u0000\u1417\u1418\u0005\u01a5\u0000\u0000\u1418"+
55866 "\u1419\u0005\u001f\u0000\u0000\u1419\u141a\u0005 \u0000\u0000\u141a\u141b"+
55867 "\u0005\u0119\u0000\u0000\u141b\u141c\u0005\u001f\u0000\u0000\u141c\u141d"+
55868 "\u0003\u0090H\u0000\u141d\u1422\u0005 \u0000\u0000\u141e\u1420\u0005`"+
55869 "\u0000\u0000\u141f\u141e\u0001\u0000\u0000\u0000\u141f\u1420\u0001\u0000"+
55870 "\u0000\u0000\u1420\u1421\u0001\u0000\u0000\u0000\u1421\u1423\u0003\\."+
55871 "\u0000\u1422\u141f\u0001\u0000\u0000\u0000\u1422\u1423\u0001\u0000\u0000"+
55872 "\u0000\u1423\u1425\u0001\u0000\u0000\u0000\u1424\u1417\u0001\u0000\u0000"+
55873 "\u0000\u1424\u1425\u0001\u0000\u0000\u0000\u1425\u02c9\u0001\u0000\u0000"+
55874 "\u0000\u1426\u1429\u0003\u001e\u000f\u0000\u1427\u1429\u0003\u0018\f\u0000"+
55875 "\u1428\u1426\u0001\u0000\u0000\u0000\u1428\u1427\u0001\u0000\u0000\u0000"+
55876 "\u1429\u02cb\u0001\u0000\u0000\u0000\u142a\u142b\u0005\u0011\u0000\u0000"+
55877 "\u142b\u02cd\u0001\u0000\u0000\u0000\u142c\u142d\u0003*\u0015\u0000\u142d"+
55878 "\u142e\u0005\u0015\u0000\u0000\u142e\u02cf\u0001\u0000\u0000\u0000\u142f"+
55879 "\u1430\u0005U\u0000\u0000\u1430\u1431\u0003\u02d2\u0169\u0000\u1431\u02d1"+
55880 "\u0001\u0000\u0000\u0000\u1432\u1437\u0003\u02d4\u016a\u0000\u1433\u1434"+
55881 "\u0005%\u0000\u0000\u1434\u1436\u0003\u02d4\u016a\u0000\u1435\u1433\u0001"+
55882 "\u0000\u0000\u0000\u1436\u1439\u0001\u0000\u0000\u0000\u1437\u1435\u0001"+
55883 "\u0000\u0000\u0000\u1437\u1438\u0001\u0000\u0000\u0000\u1438\u02d3\u0001"+
55884 "\u0000\u0000\u0000\u1439\u1437\u0001\u0000\u0000\u0000\u143a\u143e\u0003"+
55885 "\u02d6\u016b\u0000\u143b\u143d\u0003\u02d8\u016c\u0000\u143c\u143b\u0001"+
55886 "\u0000\u0000\u0000\u143d\u1440\u0001\u0000\u0000\u0000\u143e\u143c\u0001"+
55887 "\u0000\u0000\u0000\u143e\u143f\u0001\u0000\u0000\u0000\u143f\u02d5\u0001"+
55888 "\u0000\u0000\u0000\u1440\u143e\u0001\u0000\u0000\u0000\u1441\u1446\u0003"+
55889 "@ \u0000\u1442\u1444\u0005`\u0000\u0000\u1443\u1442\u0001\u0000\u0000"+
55890 "\u0000\u1443\u1444\u0001\u0000\u0000\u0000\u1444\u1445\u0001\u0000\u0000"+
55891 "\u0000\u1445\u1447\u0003\\.\u0000\u1446\u1443\u0001\u0000\u0000\u0000"+
55892 "\u1446\u1447\u0001\u0000\u0000\u0000\u1447\u145c\u0001\u0000\u0000\u0000"+
55893 "\u1448\u144a\u0003\u02e2\u0171\u0000\u1449\u144b\u0005`\u0000\u0000\u144a"+
55894 "\u1449\u0001\u0000\u0000\u0000\u144a\u144b\u0001\u0000\u0000\u0000\u144b"+
55895 "\u144c\u0001\u0000\u0000\u0000\u144c\u144e\u0003\\.\u0000\u144d\u144f"+
55896 "\u0003P(\u0000\u144e\u144d\u0001\u0000\u0000\u0000\u144e\u144f\u0001\u0000"+
55897 "\u0000\u0000\u144f\u145c\u0001\u0000\u0000\u0000\u1450\u1455\u0003b1\u0000"+
55898 "\u1451\u1453\u0005`\u0000\u0000\u1452\u1451\u0001\u0000\u0000\u0000\u1452"+
55899 "\u1453\u0001\u0000\u0000\u0000\u1453\u1454\u0001\u0000\u0000\u0000\u1454"+
55900 "\u1456\u0003\\.\u0000\u1455\u1452\u0001\u0000\u0000\u0000\u1455\u1456"+
55901 "\u0001\u0000\u0000\u0000\u1456\u145c\u0001\u0000\u0000\u0000\u1457\u1458"+
55902 "\u0005\u001f\u0000\u0000\u1458\u1459\u0003\u02d2\u0169\u0000\u1459\u145a"+
55903 "\u0005 \u0000\u0000\u145a\u145c\u0001\u0000\u0000\u0000\u145b\u1441\u0001"+
55904 "\u0000\u0000\u0000\u145b\u1448\u0001\u0000\u0000\u0000\u145b\u1450\u0001"+
55905 "\u0000\u0000\u0000\u145b\u1457\u0001\u0000\u0000\u0000\u145c\u02d7\u0001"+
55906 "\u0000\u0000\u0000\u145d\u145f\u0005V\u0000\u0000\u145e\u145d\u0001\u0000"+
55907 "\u0000\u0000\u145e\u145f\u0001\u0000\u0000\u0000\u145f\u1461\u0001\u0000"+
55908 "\u0000\u0000\u1460\u1462\u0007I\u0000\u0000\u1461\u1460\u0001\u0000\u0000"+
55909 "\u0000\u1461\u1462\u0001\u0000\u0000\u0000\u1462\u1463\u0001\u0000\u0000"+
55910 "\u0000\u1463\u1464\u0005W\u0000\u0000\u1464\u1465\u0001\u0000\u0000\u0000"+
55911 "\u1465\u1467\u0003\u02d6\u016b\u0000\u1466\u1468\u0003\u02da\u016d\u0000"+
55912 "\u1467\u1466\u0001\u0000\u0000\u0000\u1467\u1468\u0001\u0000\u0000\u0000"+
55913 "\u1468\u147c\u0001\u0000\u0000\u0000\u1469\u146b\u0005V\u0000\u0000\u146a"+
55914 "\u1469\u0001\u0000\u0000\u0000\u146a\u146b\u0001\u0000\u0000\u0000\u146b"+
55915 "\u146c\u0001\u0000\u0000\u0000\u146c\u146e\u0007J\u0000\u0000\u146d\u146f"+
55916 "\u0005Z\u0000\u0000\u146e\u146d\u0001\u0000\u0000\u0000\u146e\u146f\u0001"+
55917 "\u0000\u0000\u0000\u146f\u1470\u0001\u0000\u0000\u0000\u1470\u1471\u0005"+
55918 "W\u0000\u0000\u1471\u1473\u0003\u02d6\u016b\u0000\u1472\u1474\u0003\u02da"+
55919 "\u016d\u0000\u1473\u1472\u0001\u0000\u0000\u0000\u1473\u1474\u0001\u0000"+
55920 "\u0000\u0000\u1474\u147c\u0001\u0000\u0000\u0000\u1475\u1476\u0007K\u0000"+
55921 "\u0000\u1476\u1477\u0005\u00d7\u0000\u0000\u1477\u1479\u0003\u02d6\u016b"+
55922 "\u0000\u1478\u147a\u0003\u02da\u016d\u0000\u1479\u1478\u0001\u0000\u0000"+
55923 "\u0000\u1479\u147a\u0001\u0000\u0000\u0000\u147a\u147c\u0001\u0000\u0000"+
55924 "\u0000\u147b\u145e\u0001\u0000\u0000\u0000\u147b\u146a\u0001\u0000\u0000"+
55925 "\u0000\u147b\u1475\u0001\u0000\u0000\u0000\u147c\u02d9\u0001\u0000\u0000"+
55926 "\u0000\u147d\u147e\u0005a\u0000\u0000\u147e\u1482\u0003b1\u0000\u147f"+
55927 "\u1480\u0005^\u0000\u0000\u1480\u1482\u0003P(\u0000\u1481\u147d\u0001"+
55928 "\u0000\u0000\u0000\u1481\u147f\u0001\u0000\u0000\u0000\u1482\u02db\u0001"+
55929 "\u0000\u0000\u0000\u1483\u1484\u0005_\u0000\u0000\u1484\u1485\u0003b1"+
55930 "\u0000\u1485\u02dd\u0001\u0000\u0000\u0000\u1486\u1487\u0005v\u0000\u0000"+
55931 "\u1487\u1488\u0005w\u0000\u0000\u1488\u148d\u0003\u0092I\u0000\u1489\u148a"+
55932 "\u0005%\u0000\u0000\u148a\u148c\u0003\u0092I\u0000\u148b\u1489\u0001\u0000"+
55933 "\u0000\u0000\u148c\u148f\u0001\u0000\u0000\u0000\u148d\u148b\u0001\u0000"+
55934 "\u0000\u0000\u148d\u148e\u0001\u0000\u0000\u0000\u148e\u02df\u0001\u0000"+
55935 "\u0000\u0000\u148f\u148d\u0001\u0000\u0000\u0000\u1490\u1491\u0005z\u0000"+
55936 "\u0000\u1491\u1492\u0003b1\u0000\u1492\u02e1\u0001\u0000\u0000\u0000\u1493"+
55937 "\u1494\u0005\u001f\u0000\u0000\u1494\u1495\u0003\u02be\u015f\u0000\u1495"+
55938 "\u1496\u0005 \u0000\u0000\u1496\u02e3\u0001\u0000\u0000\u0000\u1497\u1498"+
55939 "\u0005M\u0000\u0000\u1498\u1499\u0003\u02e6\u0173\u0000\u1499\u02e5\u0001"+
55940 "\u0000\u0000\u0000\u149a\u149f\u0003\u02e8\u0174\u0000\u149b\u149c\u0005"+
55941 "%\u0000\u0000\u149c\u149e\u0003\u02e8\u0174\u0000\u149d\u149b\u0001\u0000"+
55942 "\u0000\u0000\u149e\u14a1\u0001\u0000\u0000\u0000\u149f\u149d\u0001\u0000"+
55943 "\u0000\u0000\u149f\u14a0\u0001\u0000\u0000\u0000\u14a0\u02e7\u0001\u0000"+
55944 "\u0000\u0000\u14a1\u149f\u0001\u0000\u0000\u0000\u14a2\u14a4\u0003*\u0015"+
55945 "\u0000\u14a3\u14a5\u0003P(\u0000\u14a4\u14a3\u0001\u0000\u0000\u0000\u14a4"+
55946 "\u14a5\u0001\u0000\u0000\u0000\u14a5\u14a6\u0001\u0000\u0000\u0000\u14a6"+
55947 "\u14a7\u0005`\u0000\u0000\u14a7\u14a8\u0003\u02e2\u0171\u0000\u14a8\u02e9"+
55948 "\u0001\u0000\u0000\u0000\u14a9\u14ac\u0005\u01b9\u0000\u0000\u14aa\u14ad"+
55949 "\u0003\u02ec\u0176\u0000\u14ab\u14ad\u0003\u02f0\u0178\u0000\u14ac\u14aa"+
55950 "\u0001\u0000\u0000\u0000\u14ac\u14ab\u0001\u0000\u0000\u0000\u14ad\u14b3"+
55951 "\u0001\u0000\u0000\u0000\u14ae\u14af\u0005K\u0000\u0000\u14af\u14b1\u0003"+
55952 "\u02f2\u0179\u0000\u14b0\u14b2\u0003P(\u0000\u14b1\u14b0\u0001\u0000\u0000"+
55953 "\u0000\u14b1\u14b2\u0001\u0000\u0000\u0000\u14b2\u14b4\u0001\u0000\u0000"+
55954 "\u0000\u14b3\u14ae\u0001\u0000\u0000\u0000\u14b3\u14b4\u0001\u0000\u0000"+
55955 "\u0000\u14b4\u02eb\u0001\u0000\u0000\u0000\u14b5\u14ba\u0003\u02ee\u0177"+
55956 "\u0000\u14b6\u14b7\u0005%\u0000\u0000\u14b7\u14b9\u0003\u02ee\u0177\u0000"+
55957 "\u14b8\u14b6\u0001\u0000\u0000\u0000\u14b9\u14bc\u0001\u0000\u0000\u0000"+
55958 "\u14ba\u14b8\u0001\u0000\u0000\u0000\u14ba\u14bb\u0001\u0000\u0000\u0000"+
55959 "\u14bb\u02ed\u0001\u0000\u0000\u0000\u14bc\u14ba\u0001\u0000\u0000\u0000"+
55960 "\u14bd\u14be\u0007L\u0000\u0000\u14be\u14bf\u0005\u0014\u0000\u0000\u14bf"+
55961 "\u14c4\u0003N\'\u0000\u14c0\u14c2\u0005`\u0000\u0000\u14c1\u14c0\u0001"+
55962 "\u0000\u0000\u0000\u14c1\u14c2\u0001\u0000\u0000\u0000\u14c2\u14c3\u0001"+
55963 "\u0000\u0000\u0000\u14c3\u14c5\u0003\\.\u0000\u14c4\u14c1\u0001\u0000"+
55964 "\u0000\u0000\u14c4\u14c5\u0001\u0000\u0000\u0000\u14c5\u02ef\u0001\u0000"+
55965 "\u0000\u0000\u14c6\u14c7\u0007L\u0000\u0000\u14c7\u14c8\u0005\u0015\u0000"+
55966 "\u0000\u14c8\u02f1\u0001\u0000\u0000\u0000\u14c9\u14ca\u0005*\u0000\u0000"+
55967 "\u14ca\u14cd\u0003N\'\u0000\u14cb\u14cd\u0003@ \u0000\u14cc\u14c9\u0001"+
55968 "\u0000\u0000\u0000\u14cc\u14cb\u0001\u0000\u0000\u0000\u14cd\u02f3\u0001"+
55969 "\u0000\u0000\u0000\u14ce\u14cf\u0007M\u0000\u0000\u14cf\u1515\u0005v\u0000"+
55970 "\u0000\u14d0\u14d1\u0007N\u0000\u0000\u14d1\u1515\u0005N\u0000\u0000\u14d2"+
55971 "\u14d3\u0007O\u0000\u0000\u14d3\u1515\u0005W\u0000\u0000\u14d4\u14d5\u0005"+
55972 "\u00c1\u0000\u0000\u14d5\u1515\u0005\u00c2\u0000\u0000\u14d6\u14d7\u0005"+
55973 "\u00c3\u0000\u0000\u14d7\u1515\u0005\u02b9\u0000\u0000\u14d8\u14d9\u0005"+
55974 "\u00c4\u0000\u0000\u14d9\u1515\u0005u\u0000\u0000\u14da\u14db\u0007P\u0000"+
55975 "\u0000\u14db\u1515\u0005\u01ce\u0000\u0000\u14dc\u14dd\u0007P\u0000\u0000"+
55976 "\u14dd\u1515\u0005\u01cf\u0000\u0000\u14de\u1515\u0005\u01d0\u0000\u0000"+
55977 "\u14df\u14e0\u0005\u00c5\u0000\u0000\u14e0\u1515\u0005\u00c6\u0000\u0000"+
55978 "\u14e1\u14e2\u0005\u01d1\u0000\u0000\u14e2\u1515\u0005\u00c6\u0000\u0000"+
55979 "\u14e3\u14e4\u0005\u01d2\u0000\u0000\u14e4\u14e5\u0005\u0018\u0000\u0000"+
55980 "\u14e5\u1515\u0005\u02bb\u0000\u0000\u14e6\u14e7\u0005\u01d3\u0000\u0000"+
55981 "\u14e7\u14e8\u0005\u0018\u0000\u0000\u14e8\u1515\u0005\u02bb\u0000\u0000"+
55982 "\u14e9\u14ea\u0005\u0113\u0000\u0000\u14ea\u1515\u0005\u02b9\u0000\u0000"+
55983 "\u14eb\u14ec\u0005\u01d4\u0000\u0000\u14ec\u1515\u0005\u02b9\u0000\u0000"+
55984 "\u14ed\u1515\u0005\u01d5\u0000\u0000\u14ee\u14ef\u0005\u00c7\u0000\u0000"+
55985 "\u14ef\u14f0\u0005f\u0000\u0000\u14f0\u14f1\u0005\u001f\u0000\u0000\u14f1"+
55986 "\u14f2\u0005*\u0000\u0000\u14f2\u14f8\u0003N\'\u0000\u14f3\u14f7\u0005"+
55987 "\u00e2\u0000\u0000\u14f4\u14f5\u0005\u0018\u0000\u0000\u14f5\u14f7\u0003"+
55988 "*\u0015\u0000\u14f6\u14f3\u0001\u0000\u0000\u0000\u14f6\u14f4\u0001\u0000"+
55989 "\u0000\u0000\u14f7\u14fa\u0001\u0000\u0000\u0000\u14f8\u14f6\u0001\u0000"+
55990 "\u0000\u0000\u14f8\u14f9\u0001\u0000\u0000\u0000\u14f9\u14fb\u0001\u0000"+
55991 "\u0000\u0000\u14fa\u14f8\u0001\u0000\u0000\u0000\u14fb\u14fc\u0005 \u0000"+
55992 "\u0000\u14fc\u1515\u0001\u0000\u0000\u0000\u14fd\u14fe\u0005\u00c7\u0000"+
55993 "\u0000\u14fe\u14ff\u0005f\u0000\u0000\u14ff\u1515\u0005\u00e2\u0000\u0000"+
55994 "\u1500\u1501\u0005\u01d6\u0000\u0000\u1501\u1515\u0007=\u0000\u0000\u1502"+
55995 "\u1503\u0005\u01d7\u0000\u0000\u1503\u1515\u0005\u02b9\u0000\u0000\u1504"+
55996 "\u1515\u0005\u01d8\u0000\u0000\u1505\u1506\u0005\u01d9\u0000\u0000\u1506"+
55997 "\u1515\u0005\u00c6\u0000\u0000\u1507\u1508\u0005\u00be\u0000\u0000\u1508"+
55998 "\u1509\u0005\u00ca\u0000\u0000\u1509\u150d\u0005\u001f\u0000\u0000\u150a"+
55999 "\u150c\u0003\u02f6\u017b\u0000\u150b\u150a\u0001\u0000\u0000\u0000\u150c"+
56000 "\u150f\u0001\u0000\u0000\u0000\u150d\u150b\u0001\u0000\u0000\u0000\u150d"+
56001 "\u150e\u0001\u0000\u0000\u0000\u150e\u1510\u0001\u0000\u0000\u0000\u150f"+
56002 "\u150d\u0001\u0000\u0000\u0000\u1510\u1515\u0005 \u0000\u0000\u1511\u1512"+
56003 "\u0005\u00be\u0000\u0000\u1512\u1513\u0005\u00c6\u0000\u0000\u1513\u1515"+
56004 "\u0005\u02be\u0000\u0000\u1514\u14ce\u0001\u0000\u0000\u0000\u1514\u14d0"+
56005 "\u0001\u0000\u0000\u0000\u1514\u14d2\u0001\u0000\u0000\u0000\u1514\u14d4"+
56006 "\u0001\u0000\u0000\u0000\u1514\u14d6\u0001\u0000\u0000\u0000\u1514\u14d8"+
56007 "\u0001\u0000\u0000\u0000\u1514\u14da\u0001\u0000\u0000\u0000\u1514\u14dc"+
56008 "\u0001\u0000\u0000\u0000\u1514\u14de\u0001\u0000\u0000\u0000\u1514\u14df"+
56009 "\u0001\u0000\u0000\u0000\u1514\u14e1\u0001\u0000\u0000\u0000\u1514\u14e3"+
56010 "\u0001\u0000\u0000\u0000\u1514\u14e6\u0001\u0000\u0000\u0000\u1514\u14e9"+
56011 "\u0001\u0000\u0000\u0000\u1514\u14eb\u0001\u0000\u0000\u0000\u1514\u14ed"+
56012 "\u0001\u0000\u0000\u0000\u1514\u14ee\u0001\u0000\u0000\u0000\u1514\u14fd"+
56013 "\u0001\u0000\u0000\u0000\u1514\u1500\u0001\u0000\u0000\u0000\u1514\u1502"+
56014 "\u0001\u0000\u0000\u0000\u1514\u1504\u0001\u0000\u0000\u0000\u1514\u1505"+
56015 "\u0001\u0000\u0000\u0000\u1514\u1507\u0001\u0000\u0000\u0000\u1514\u1511"+
56016 "\u0001\u0000\u0000\u0000\u1515\u02f5\u0001\u0000\u0000\u0000\u1516\u1517"+
56017 "\u0005\'\u0000\u0000\u1517\u1518\u0005\u01bc\u0000\u0000\u1518\u154d\u0005"+
56018 "\'\u0000\u0000\u1519\u151a\u0005\'\u0000\u0000\u151a\u151b\u0005\u01bd"+
56019 "\u0000\u0000\u151b\u154d\u0005\'\u0000\u0000\u151c\u151d\u0005\'\u0000"+
56020 "\u0000\u151d\u151e\u0005\u01be\u0000\u0000\u151e\u154d\u0005\'\u0000\u0000"+
56021 "\u151f\u1520\u0005\'\u0000\u0000\u1520\u1521\u0005\u01bf\u0000\u0000\u1521"+
56022 "\u154d\u0005\'\u0000\u0000\u1522\u1523\u0005\'\u0000\u0000\u1523\u1524"+
56023 "\u0005\u01c0\u0000\u0000\u1524\u154d\u0005\'\u0000\u0000\u1525\u1526\u0005"+
56024 "\'\u0000\u0000\u1526\u1527\u0005\u01c1\u0000\u0000\u1527\u154d\u0005\'"+
56025 "\u0000\u0000\u1528\u1529\u0005\'\u0000\u0000\u1529\u152a\u0005\u01c2\u0000"+
56026 "\u0000\u152a\u154d\u0005\'\u0000\u0000\u152b\u152c\u0005\'\u0000\u0000"+
56027 "\u152c\u152d\u0005\u01c3\u0000\u0000\u152d\u154d\u0005\'\u0000\u0000\u152e"+
56028 "\u152f\u0005\'\u0000\u0000\u152f\u1530\u0005\u01c4\u0000\u0000\u1530\u154d"+
56029 "\u0005\'\u0000\u0000\u1531\u1532\u0005\'\u0000\u0000\u1532\u1533\u0005"+
56030 "\u01c5\u0000\u0000\u1533\u154d\u0005\'\u0000\u0000\u1534\u1535\u0005\'"+
56031 "\u0000\u0000\u1535\u1536\u0005\u01c6\u0000\u0000\u1536\u154d\u0005\'\u0000"+
56032 "\u0000\u1537\u1538\u0005\'\u0000\u0000\u1538\u1539\u0005\u01c7\u0000\u0000"+
56033 "\u1539\u154d\u0005\'\u0000\u0000\u153a\u153b\u0005\'\u0000\u0000\u153b"+
56034 "\u153c\u0005\u01c8\u0000\u0000\u153c\u154d\u0005\'\u0000\u0000\u153d\u153e"+
56035 "\u0005\'\u0000\u0000\u153e\u153f\u0005\u01c9\u0000\u0000\u153f\u154d\u0005"+
56036 "\'\u0000\u0000\u1540\u1541\u0005\'\u0000\u0000\u1541\u1542\u0005\u01ca"+
56037 "\u0000\u0000\u1542\u154d\u0005\'\u0000\u0000\u1543\u1544\u0005\'\u0000"+
56038 "\u0000\u1544\u1545\u0005\u01cb\u0000\u0000\u1545\u154d\u0005\'\u0000\u0000"+
56039 "\u1546\u1547\u0005\'\u0000\u0000\u1547\u1548\u0005\u01cc\u0000\u0000\u1548"+
56040 "\u154d\u0005\'\u0000\u0000\u1549\u154a\u0005\'\u0000\u0000\u154a\u154b"+
56041 "\u0005\u01cd\u0000\u0000\u154b\u154d\u0005\'\u0000\u0000\u154c\u1516\u0001"+
56042 "\u0000\u0000\u0000\u154c\u1519\u0001\u0000\u0000\u0000\u154c\u151c\u0001"+
56043 "\u0000\u0000\u0000\u154c\u151f\u0001\u0000\u0000\u0000\u154c\u1522\u0001"+
56044 "\u0000\u0000\u0000\u154c\u1525\u0001\u0000\u0000\u0000\u154c\u1528\u0001"+
56045 "\u0000\u0000\u0000\u154c\u152b\u0001\u0000\u0000\u0000\u154c\u152e\u0001"+
56046 "\u0000\u0000\u0000\u154c\u1531\u0001\u0000\u0000\u0000\u154c\u1534\u0001"+
56047 "\u0000\u0000\u0000\u154c\u1537\u0001\u0000\u0000\u0000\u154c\u153a\u0001"+
56048 "\u0000\u0000\u0000\u154c\u153d\u0001\u0000\u0000\u0000\u154c\u1540\u0001"+
56049 "\u0000\u0000\u0000\u154c\u1543\u0001\u0000\u0000\u0000\u154c\u1546\u0001"+
56050 "\u0000\u0000\u0000\u154c\u1549\u0001\u0000\u0000\u0000\u154d\u02f7\u0001"+
56051 "\u0000\u0000\u0000\u154e\u1552\u0005f\u0000\u0000\u154f\u1553\u0005\u029f"+
56052 "\u0000\u0000\u1550\u1553\u0003\u02fa\u017d\u0000\u1551\u1553\u0003\u02fe"+
56053 "\u017f\u0000\u1552\u154f\u0001\u0000\u0000\u0000\u1552\u1550\u0001\u0000"+
56054 "\u0000\u0000\u1552\u1551\u0001\u0000\u0000\u0000\u1553\u02f9\u0001\u0000"+
56055 "\u0000\u0000\u1554\u158f\u0005\u014c\u0000\u0000\u1555\u155a\u0005\u02a0"+
56056 "\u0000\u0000\u1556\u1557\u0005\u001f\u0000\u0000\u1557\u1558\u0003\u001c"+
56057 "\u000e\u0000\u1558\u1559\u0005 \u0000\u0000\u1559\u155b\u0001\u0000\u0000"+
56058 "\u0000\u155a\u1556\u0001\u0000\u0000\u0000\u155a\u155b\u0001\u0000\u0000"+
56059 "\u0000\u155b\u155e\u0001\u0000\u0000\u0000\u155c\u155e\u0005\u00f2\u0000"+
56060 "\u0000\u155d\u1555\u0001\u0000\u0000\u0000\u155d\u155c\u0001\u0000\u0000"+
56061 "\u0000\u155e\u1574\u0001\u0000\u0000\u0000\u155f\u156b\u0003\u02fc\u017e"+
56062 "\u0000\u1560\u1569\u0005%\u0000\u0000\u1561\u156a\u0005\u02a1\u0000\u0000"+
56063 "\u1562\u1567\u0005\u02a2\u0000\u0000\u1563\u1564\u0005\u001f\u0000\u0000"+
56064 "\u1564\u1565\u0003\u001c\u000e\u0000\u1565\u1566\u0005 \u0000\u0000\u1566"+
56065 "\u1568\u0001\u0000\u0000\u0000\u1567\u1563\u0001\u0000\u0000\u0000\u1567"+
56066 "\u1568\u0001\u0000\u0000\u0000\u1568\u156a\u0001\u0000\u0000\u0000\u1569"+
56067 "\u1561\u0001\u0000\u0000\u0000\u1569\u1562\u0001\u0000\u0000\u0000\u156a"+
56068 "\u156c\u0001\u0000\u0000\u0000\u156b\u1560\u0001\u0000\u0000\u0000\u156b"+
56069 "\u156c\u0001\u0000\u0000\u0000\u156c\u1572\u0001\u0000\u0000\u0000\u156d"+
56070 "\u156e\u0005%\u0000\u0000\u156e\u1570\u0005\u02a3\u0000\u0000\u156f\u1571"+
56071 "\u0007Q\u0000\u0000\u1570\u156f\u0001\u0000\u0000\u0000\u1570\u1571\u0001"+
56072 "\u0000\u0000\u0000\u1571\u1573\u0001\u0000\u0000\u0000\u1572\u156d\u0001"+
56073 "\u0000\u0000\u0000\u1572\u1573\u0001\u0000\u0000\u0000\u1573\u1575\u0001"+
56074 "\u0000\u0000\u0000\u1574\u155f\u0001\u0000\u0000\u0000\u1574\u1575\u0001"+
56075 "\u0000\u0000\u0000\u1575\u1590\u0001\u0000\u0000\u0000\u1576\u157c\u0005"+
56076 "\u02a6\u0000\u0000\u1577\u157a\u0003\u02fc\u017e\u0000\u1578\u1579\u0005"+
56077 "%\u0000\u0000\u1579\u157b\u0005\u02a1\u0000\u0000\u157a\u1578\u0001\u0000"+
56078 "\u0000\u0000\u157a\u157b\u0001\u0000\u0000\u0000\u157b\u157d\u0001\u0000"+
56079 "\u0000\u0000\u157c\u1577\u0001\u0000\u0000\u0000\u157c\u157d\u0001\u0000"+
56080 "\u0000\u0000\u157d\u1590\u0001\u0000\u0000\u0000\u157e\u1583\u0005\u02a7"+
56081 "\u0000\u0000\u157f\u1580\u0005\u001f\u0000\u0000\u1580\u1581\u0003\u001c"+
56082 "\u000e\u0000\u1581\u1582\u0005 \u0000\u0000\u1582\u1584\u0001\u0000\u0000"+
56083 "\u0000\u1583\u157f\u0001\u0000\u0000\u0000\u1583\u1584\u0001\u0000\u0000"+
56084 "\u0000\u1584\u158d\u0001\u0000\u0000\u0000\u1585\u158b\u0003\u02fc\u017e"+
56085 "\u0000\u1586\u1587\u0005%\u0000\u0000\u1587\u1589\u0005\u02a3\u0000\u0000"+
56086 "\u1588\u158a\u0007Q\u0000\u0000\u1589\u1588\u0001\u0000\u0000\u0000\u1589"+
56087 "\u158a\u0001\u0000\u0000\u0000\u158a\u158c\u0001\u0000\u0000\u0000\u158b"+
56088 "\u1586\u0001\u0000\u0000\u0000\u158b\u158c\u0001\u0000\u0000\u0000\u158c"+
56089 "\u158e\u0001\u0000\u0000\u0000\u158d\u1585\u0001\u0000\u0000\u0000\u158d"+
56090 "\u158e\u0001\u0000\u0000\u0000\u158e\u1590\u0001\u0000\u0000\u0000\u158f"+
56091 "\u155d\u0001\u0000\u0000\u0000\u158f\u1576\u0001\u0000\u0000\u0000\u158f"+
56092 "\u157e\u0001\u0000\u0000\u0000\u1590\u02fb\u0001\u0000\u0000\u0000\u1591"+
56093 "\u1592\u0005%\u0000\u0000\u1592\u1593\u0005\u00d9\u0000\u0000\u1593\u1595"+
56094 "\u0005\u02a8\u0000\u0000\u1594\u1591\u0001\u0000\u0000\u0000\u1594\u1595"+
56095 "\u0001\u0000\u0000\u0000\u1595\u1598\u0001\u0000\u0000\u0000\u1596\u1597"+
56096 "\u0005%\u0000\u0000\u1597\u1599\u0005\u00b0\u0000\u0000\u1598\u1596\u0001"+
56097 "\u0000\u0000\u0000\u1598\u1599\u0001\u0000\u0000\u0000\u1599\u15a2\u0001"+
56098 "\u0000\u0000\u0000\u159a\u159b\u0005%\u0000\u0000\u159b\u15a0\u0005\u02a9"+
56099 "\u0000\u0000\u159c\u159d\u0005\u001f\u0000\u0000\u159d\u159e\u0003\u001c"+
56100 "\u000e\u0000\u159e\u159f\u0005 \u0000\u0000\u159f\u15a1\u0001\u0000\u0000"+
56101 "\u0000\u15a0\u159c\u0001\u0000\u0000\u0000\u15a0\u15a1\u0001\u0000\u0000"+
56102 "\u0000\u15a1\u15a3\u0001\u0000\u0000\u0000\u15a2\u159a\u0001\u0000\u0000"+
56103 "\u0000\u15a2\u15a3\u0001\u0000\u0000\u0000\u15a3\u02fd\u0001\u0000\u0000"+
56104 "\u0000\u15a4\u15a5\u0005\u02aa\u0000\u0000\u15a5\u15b8\u0007R\u0000\u0000"+
56105 "\u15a6\u15a7\u0005%\u0000\u0000\u15a7\u15ac\u0005\u02a9\u0000\u0000\u15a8"+
56106 "\u15a9\u0005\u001f\u0000\u0000\u15a9\u15aa\u0003\u001c\u000e\u0000\u15aa"+
56107 "\u15ab\u0005 \u0000\u0000\u15ab\u15ad\u0001\u0000\u0000\u0000\u15ac\u15a8"+
56108 "\u0001\u0000\u0000\u0000\u15ac\u15ad\u0001\u0000\u0000\u0000\u15ad\u15af"+
56109 "\u0001\u0000\u0000\u0000\u15ae\u15a6\u0001\u0000\u0000\u0000\u15ae\u15af"+
56110 "\u0001\u0000\u0000\u0000\u15af\u15b2\u0001\u0000\u0000\u0000\u15b0\u15b1"+
56111 "\u0005%\u0000\u0000\u15b1\u15b3\u0005\u02ab\u0000\u0000\u15b2\u15b0\u0001"+
56112 "\u0000\u0000\u0000\u15b2\u15b3\u0001\u0000\u0000\u0000\u15b3\u15b6\u0001"+
56113 "\u0000\u0000\u0000\u15b4\u15b5\u0005%\u0000\u0000\u15b5\u15b7\u0005\u02ac"+
56114 "\u0000\u0000\u15b6\u15b4\u0001\u0000\u0000\u0000\u15b6\u15b7\u0001\u0000"+
56115 "\u0000\u0000\u15b7\u15b9\u0001\u0000\u0000\u0000\u15b8\u15ae\u0001\u0000"+
56116 "\u0000\u0000\u15b8\u15b9\u0001\u0000\u0000\u0000\u15b9\u02ff\u0001\u0000"+
56117 "\u0000\u0000\u15ba\u15bf\u0005M\u0000\u0000\u15bb\u15bd\u0003\u0302\u0181"+
56118 "\u0000\u15bc\u15be\u0005%\u0000\u0000\u15bd\u15bc\u0001\u0000\u0000\u0000"+
56119 "\u15bd\u15be\u0001\u0000\u0000\u0000\u15be\u15c0\u0001\u0000\u0000\u0000"+
56120 "\u15bf\u15bb\u0001\u0000\u0000\u0000\u15bf\u15c0\u0001\u0000\u0000\u0000"+
56121 "\u15c0\u15c2\u0001\u0000\u0000\u0000\u15c1\u15c3\u0003\u02e6\u0173\u0000"+
56122 "\u15c2\u15c1\u0001\u0000\u0000\u0000\u15c2\u15c3\u0001\u0000\u0000\u0000"+
56123 "\u15c3\u0301\u0001\u0000\u0000\u0000\u15c4\u15c5\u0005\u02ad\u0000\u0000"+
56124 "\u15c5\u15c6\u0005\u001f\u0000\u0000\u15c6\u15cb\u0003\u0304\u0182\u0000"+
56125 "\u15c7\u15c8\u0005%\u0000\u0000\u15c8\u15ca\u0003\u0304\u0182\u0000\u15c9"+
56126 "\u15c7\u0001\u0000\u0000\u0000\u15ca\u15cd\u0001\u0000\u0000\u0000\u15cb"+
56127 "\u15c9\u0001\u0000\u0000\u0000\u15cb\u15cc\u0001\u0000\u0000\u0000\u15cc"+
56128 "\u15ce\u0001\u0000\u0000\u0000\u15cd\u15cb\u0001\u0000\u0000\u0000\u15ce"+
56129 "\u15cf\u0005 \u0000\u0000\u15cf\u0303\u0001\u0000\u0000\u0000\u15d0\u15d1"+
56130 "\u0003\u0306\u0183\u0000\u15d1\u15d2\u0005`\u0000\u0000\u15d2\u15d3\u0003"+
56131 "\u0308\u0184\u0000\u15d3\u15d6\u0001\u0000\u0000\u0000\u15d4\u15d6\u0003"+
56132 "\u030a\u0185\u0000\u15d5\u15d0\u0001\u0000\u0000\u0000\u15d5\u15d4\u0001"+
56133 "\u0000\u0000\u0000\u15d6\u0305\u0001\u0000\u0000\u0000\u15d7\u15d8\u0003"+
56134 "\u001c\u000e\u0000\u15d8\u0307\u0001\u0000\u0000\u0000\u15d9\u15da\u0003"+
56135 "*\u0015\u0000\u15da\u0309\u0001\u0000\u0000\u0000\u15db\u15dc\u0005\u009a"+
56136 "\u0000\u0000\u15dc\u15dd\u0003\u0306\u0183\u0000\u15dd\u030b\u0001\u0000"+
56137 "\u0000\u0000\u15de\u15e1\u00057\u0000\u0000\u15df\u15e2\u0003\u030e\u0187"+
56138 "\u0000\u15e0\u15e2\u0003\u0310\u0188\u0000\u15e1\u15df\u0001\u0000\u0000"+
56139 "\u0000\u15e1\u15e0\u0001\u0000\u0000\u0000\u15e2\u030d\u0001\u0000\u0000"+
56140 "\u0000\u15e3\u15e6\u0003\u0312\u0189\u0000\u15e4\u15e5\u0005a\u0000\u0000"+
56141 "\u15e5\u15e7\u0003\u0314\u018a\u0000\u15e6\u15e4\u0001\u0000\u0000\u0000"+
56142 "\u15e6\u15e7\u0001\u0000\u0000\u0000\u15e7\u15e8\u0001\u0000\u0000\u0000"+
56143 "\u15e8\u15e9\u0005g\u0000\u0000\u15e9\u15ee\u0003\u031c\u018e\u0000\u15ea"+
56144 "\u15eb\u0005%\u0000\u0000\u15eb\u15ed\u0003\u031c\u018e\u0000\u15ec\u15ea"+
56145 "\u0001\u0000\u0000\u0000\u15ed\u15f0\u0001\u0000\u0000\u0000\u15ee\u15ec"+
56146 "\u0001\u0000\u0000\u0000\u15ee\u15ef\u0001\u0000\u0000\u0000\u15ef\u15f4"+
56147 "\u0001\u0000\u0000\u0000\u15f0\u15ee\u0001\u0000\u0000\u0000\u15f1\u15f2"+
56148 "\u0005M\u0000\u0000\u15f2\u15f3\u00057\u0000\u0000\u15f3\u15f5\u0005\u00e9"+
56149 "\u0000\u0000\u15f4\u15f1\u0001\u0000\u0000\u0000\u15f4\u15f5\u0001\u0000"+
56150 "\u0000\u0000\u15f5\u15f8\u0001\u0000\u0000\u0000\u15f6\u15f7\u0005`\u0000"+
56151 "\u0000\u15f7\u15f9\u0003\u031c\u018e\u0000\u15f8\u15f6\u0001\u0000\u0000"+
56152 "\u0000\u15f8\u15f9\u0001\u0000\u0000\u0000\u15f9\u030f\u0001\u0000\u0000"+
56153 "\u0000\u15fa\u15fd\u0003\u0316\u018b\u0000\u15fb\u15fc\u0005a\u0000\u0000"+
56154 "\u15fc\u15fe\u0003\u0318\u018c\u0000\u15fd\u15fb\u0001\u0000\u0000\u0000"+
56155 "\u15fd\u15fe\u0001\u0000\u0000\u0000\u15fe\u15ff\u0001\u0000\u0000\u0000"+
56156 "\u15ff\u1600\u0005g\u0000\u0000\u1600\u1605\u0003\u031c\u018e\u0000\u1601"+
56157 "\u1602\u0005%\u0000\u0000\u1602\u1604\u0003\u031c\u018e\u0000\u1603\u1601"+
56158 "\u0001\u0000\u0000\u0000\u1604\u1607\u0001\u0000\u0000\u0000\u1605\u1603"+
56159 "\u0001\u0000\u0000\u0000\u1605\u1606\u0001\u0000\u0000\u0000\u1606\u160b"+
56160 "\u0001\u0000\u0000\u0000\u1607\u1605\u0001\u0000\u0000\u0000\u1608\u1609"+
56161 "\u0005M\u0000\u0000\u1609\u160a\u00057\u0000\u0000\u160a\u160c\u0005\u00e9"+
56162 "\u0000\u0000\u160b\u1608\u0001\u0000\u0000\u0000\u160b\u160c\u0001\u0000"+
56163 "\u0000\u0000\u160c\u0311\u0001\u0000\u0000\u0000\u160d\u160f\u0003\u032c"+
56164 "\u0196\u0000\u160e\u1610\u0003P(\u0000\u160f\u160e\u0001\u0000\u0000\u0000"+
56165 "\u160f\u1610\u0001\u0000\u0000\u0000\u1610\u1618\u0001\u0000\u0000\u0000"+
56166 "\u1611\u1612\u0005%\u0000\u0000\u1612\u1614\u0003\u032c\u0196\u0000\u1613"+
56167 "\u1615\u0003P(\u0000\u1614\u1613\u0001\u0000\u0000\u0000\u1614\u1615\u0001"+
56168 "\u0000\u0000\u0000\u1615\u1617\u0001\u0000\u0000\u0000\u1616\u1611\u0001"+
56169 "\u0000\u0000\u0000\u1617\u161a\u0001\u0000\u0000\u0000\u1618\u1616\u0001"+
56170 "\u0000\u0000\u0000\u1618\u1619\u0001\u0000\u0000\u0000\u1619\u0313\u0001"+
56171 "\u0000\u0000\u0000\u161a\u1618\u0001\u0000\u0000\u0000\u161b\u161c\u0003"+
56172 "\u036a\u01b5\u0000\u161c\u161d\u0005\u000e\u0000\u0000\u161d\u161e\u0005"+
56173 "\u000e\u0000\u0000\u161e\u1620\u0001\u0000\u0000\u0000\u161f\u161b\u0001"+
56174 "\u0000\u0000\u0000\u161f\u1620\u0001\u0000\u0000\u0000\u1620\u1621\u0001"+
56175 "\u0000\u0000\u0000\u1621\u1622\u0003\u031a\u018d\u0000\u1622\u0315\u0001"+
56176 "\u0000\u0000\u0000\u1623\u1628\u0003\u032c\u0196\u0000\u1624\u1625\u0005"+
56177 "%\u0000\u0000\u1625\u1627\u0003\u032c\u0196\u0000\u1626\u1624\u0001\u0000"+
56178 "\u0000\u0000\u1627\u162a\u0001\u0000\u0000\u0000\u1628\u1626\u0001\u0000"+
56179 "\u0000\u0000\u1628\u1629\u0001\u0000\u0000\u0000\u1629\u0317\u0001\u0000"+
56180 "\u0000\u0000\u162a\u1628\u0001\u0000\u0000\u0000\u162b\u162c\u0003\u036c"+
56181 "\u01b6\u0000\u162c\u162d\u0005\u000e\u0000\u0000\u162d\u162e\u0005\u000e"+
56182 "\u0000\u0000\u162e\u1630\u0001\u0000\u0000\u0000\u162f\u162b\u0001\u0000"+
56183 "\u0000\u0000\u162f\u1630\u0001\u0000\u0000\u0000\u1630\u1631\u0001\u0000"+
56184 "\u0000\u0000\u1631\u1632\u0003\u031a\u018d\u0000\u1632\u0319\u0001\u0000"+
56185 "\u0000\u0000\u1633\u1634\u0003L&\u0000\u1634\u1635\u0005\u0014\u0000\u0000"+
56186 "\u1635\u1637\u0001\u0000\u0000\u0000\u1636\u1633\u0001\u0000\u0000\u0000"+
56187 "\u1636\u1637\u0001\u0000\u0000\u0000\u1637\u1638\u0001\u0000\u0000\u0000"+
56188 "\u1638\u1639\u0003N\'\u0000\u1639\u031b\u0001\u0000\u0000\u0000\u163a"+
56189 "\u163b\u0003\u038a\u01c5\u0000\u163b\u031d\u0001\u0000\u0000\u0000\u163c"+
56190 "\u1642\u00058\u0000\u0000\u163d\u163f\u0003\u032a\u0195\u0000\u163e\u163d"+
56191 "\u0001\u0000\u0000\u0000\u163e\u163f\u0001\u0000\u0000\u0000\u163f\u1640"+
56192 "\u0001\u0000\u0000\u0000\u1640\u1643\u0003\u0320\u0190\u0000\u1641\u1643"+
56193 "\u0003\u0322\u0191\u0000\u1642\u163e\u0001\u0000\u0000\u0000\u1642\u1641"+
56194 "\u0001\u0000\u0000\u0000\u1643\u031f\u0001\u0000\u0000\u0000\u1644\u1647"+
56195 "\u0003\u0312\u0189\u0000\u1645\u1646\u0005a\u0000\u0000\u1646\u1648\u0003"+
56196 "\u0314\u018a\u0000\u1647\u1645\u0001\u0000\u0000\u0000\u1647\u1648\u0001"+
56197 "\u0000\u0000\u0000\u1648\u1649\u0001\u0000\u0000\u0000\u1649\u164a\u0007"+
56198 "S\u0000\u0000\u164a\u164f\u0003\u031c\u018e\u0000\u164b\u164c\u0005%\u0000"+
56199 "\u0000\u164c\u164e\u0003\u031c\u018e\u0000\u164d\u164b\u0001\u0000\u0000"+
56200 "\u0000\u164e\u1651\u0001\u0000\u0000\u0000\u164f\u164d\u0001\u0000\u0000"+
56201 "\u0000\u164f\u1650\u0001\u0000\u0000\u0000\u1650\u1653\u0001\u0000\u0000"+
56202 "\u0000\u1651\u164f\u0001\u0000\u0000\u0000\u1652\u1654\u0005\u00e5\u0000"+
56203 "\u0000\u1653\u1652\u0001\u0000\u0000\u0000\u1653\u1654\u0001\u0000\u0000"+
56204 "\u0000\u1654\u1657\u0001\u0000\u0000\u0000\u1655\u1656\u0005`\u0000\u0000"+
56205 "\u1656\u1658\u0003\u031c\u018e\u0000\u1657\u1655\u0001\u0000\u0000\u0000"+
56206 "\u1657\u1658\u0001\u0000\u0000\u0000\u1658\u0321\u0001\u0000\u0000\u0000"+
56207 "\u1659\u165c\u0003\u0316\u018b\u0000\u165a\u165b\u0005a\u0000\u0000\u165b"+
56208 "\u165d\u0003\u0318\u018c\u0000\u165c\u165a\u0001\u0000\u0000\u0000\u165c"+
56209 "\u165d\u0001\u0000\u0000\u0000\u165d\u165e\u0001\u0000\u0000\u0000\u165e"+
56210 "\u165f\u0007S\u0000\u0000\u165f\u1664\u0003\u031c\u018e\u0000\u1660\u1661"+
56211 "\u0005%\u0000\u0000\u1661\u1663\u0003\u031c\u018e\u0000\u1662\u1660\u0001"+
56212 "\u0000\u0000\u0000\u1663\u1666\u0001\u0000\u0000\u0000\u1664\u1662\u0001"+
56213 "\u0000\u0000\u0000\u1664\u1665\u0001\u0000\u0000\u0000\u1665\u1668\u0001"+
56214 "\u0000\u0000\u0000\u1666\u1664\u0001\u0000\u0000\u0000\u1667\u1669\u0005"+
56215 "\u00e5\u0000\u0000\u1668\u1667\u0001\u0000\u0000\u0000\u1668\u1669\u0001"+
56216 "\u0000\u0000\u0000\u1669\u0323\u0001\u0000\u0000\u0000\u166a\u166d\u0005"+
56217 "\u00ff\u0000\u0000\u166b\u166e\u0003\u0326\u0193\u0000\u166c\u166e\u0003"+
56218 "\u0328\u0194\u0000\u166d\u166b\u0001\u0000\u0000\u0000\u166d\u166c\u0001"+
56219 "\u0000\u0000\u0000\u166e\u0325\u0001\u0000\u0000\u0000\u166f\u1672\u0003"+
56220 "\u0312\u0189\u0000\u1670\u1671\u0005a\u0000\u0000\u1671\u1673\u0003\u0314"+
56221 "\u018a\u0000\u1672\u1670\u0001\u0000\u0000\u0000\u1672\u1673\u0001\u0000"+
56222 "\u0000\u0000\u1673\u1674\u0001\u0000\u0000\u0000\u1674\u1675\u0005g\u0000"+
56223 "\u0000\u1675\u167a\u0003\u031c\u018e\u0000\u1676\u1677\u0005%\u0000\u0000"+
56224 "\u1677\u1679\u0003\u031c\u018e\u0000\u1678\u1676\u0001\u0000\u0000\u0000"+
56225 "\u1679\u167c\u0001\u0000\u0000\u0000\u167a\u1678\u0001\u0000\u0000\u0000"+
56226 "\u167a\u167b\u0001\u0000\u0000\u0000\u167b\u167e\u0001\u0000\u0000\u0000"+
56227 "\u167c\u167a\u0001\u0000\u0000\u0000\u167d\u167f\u0005\u00e5\u0000\u0000"+
56228 "\u167e\u167d\u0001\u0000\u0000\u0000\u167e\u167f\u0001\u0000\u0000\u0000"+
56229 "\u167f\u1682\u0001\u0000\u0000\u0000\u1680\u1681\u0005`\u0000\u0000\u1681"+
56230 "\u1683\u0003\u031c\u018e\u0000\u1682\u1680\u0001\u0000\u0000\u0000\u1682"+
56231 "\u1683\u0001\u0000\u0000\u0000\u1683\u0327\u0001\u0000\u0000\u0000\u1684"+
56232 "\u1687\u0003\u0316\u018b\u0000\u1685\u1686\u0005a\u0000\u0000\u1686\u1688"+
56233 "\u0003\u0318\u018c\u0000\u1687\u1685\u0001\u0000\u0000\u0000\u1687\u1688"+
56234 "\u0001\u0000\u0000\u0000\u1688\u1689\u0001\u0000\u0000\u0000\u1689\u168a"+
56235 "\u0005g\u0000\u0000\u168a\u168f\u0003\u031c\u018e\u0000\u168b\u168c\u0005"+
56236 "%\u0000\u0000\u168c\u168e\u0003\u031c\u018e\u0000\u168d\u168b\u0001\u0000"+
56237 "\u0000\u0000\u168e\u1691\u0001\u0000\u0000\u0000\u168f\u168d\u0001\u0000"+
56238 "\u0000\u0000\u168f\u1690\u0001\u0000\u0000\u0000\u1690\u1693\u0001\u0000"+
56239 "\u0000\u0000\u1691\u168f\u0001\u0000\u0000\u0000\u1692\u1694\u0005\u00e5"+
56240 "\u0000\u0000\u1693\u1692\u0001\u0000\u0000\u0000\u1693\u1694\u0001\u0000"+
56241 "\u0000\u0000\u1694\u0329\u0001\u0000\u0000\u0000\u1695\u1696\u00057\u0000"+
56242 "\u0000\u1696\u1697\u0005\u00e9\u0000\u0000\u1697\u1698\u0005f\u0000\u0000"+
56243 "\u1698\u032b\u0001\u0000\u0000\u0000\u1699\u169b\u0005r\u0000\u0000\u169a"+
56244 "\u169c\u0005\u00ea\u0000\u0000\u169b\u169a\u0001\u0000\u0000\u0000\u169b"+
56245 "\u169c\u0001\u0000\u0000\u0000\u169c\u16b1\u0001\u0000\u0000\u0000\u169d"+
56246 "\u16b1\u0003\u0358\u01ac\u0000\u169e\u16b1\u0003\u0356\u01ab\u0000\u169f"+
56247 "\u16b1\u0003\u035a\u01ad\u0000\u16a0\u16b1\u0003\u0352\u01a9\u0000\u16a1"+
56248 "\u16b1\u0003\u032e\u0197\u0000\u16a2\u16b1\u0003\u0366\u01b3\u0000\u16a3"+
56249 "\u16b1\u0003\u0334\u019a\u0000\u16a4\u16b1\u0003\u0336\u019b\u0000\u16a5"+
56250 "\u16b1\u0003\u033e\u019f\u0000\u16a6\u16b1\u0003\u0350\u01a8\u0000\u16a7"+
56251 "\u16b1\u0003\u035c\u01ae\u0000\u16a8\u16b1\u0003\u0340\u01a0\u0000\u16a9"+
56252 "\u16b1\u0003\u0342\u01a1\u0000\u16aa\u16b1\u0003\u0330\u0198\u0000\u16ab"+
56253 "\u16b1\u0003\u0332\u0199\u0000\u16ac\u16b1\u0003\u0344\u01a2\u0000\u16ad"+
56254 "\u16b1\u0003\u0354\u01aa\u0000\u16ae\u16b1\u0003\u0362\u01b1\u0000\u16af"+
56255 "\u16b1\u0003\u0364\u01b2\u0000\u16b0\u1699\u0001\u0000\u0000\u0000\u16b0"+
56256 "\u169d\u0001\u0000\u0000\u0000\u16b0\u169e\u0001\u0000\u0000\u0000\u16b0"+
56257 "\u169f\u0001\u0000\u0000\u0000\u16b0\u16a0\u0001\u0000\u0000\u0000\u16b0"+
56258 "\u16a1\u0001\u0000\u0000\u0000\u16b0\u16a2\u0001\u0000\u0000\u0000\u16b0"+
56259 "\u16a3\u0001\u0000\u0000\u0000\u16b0\u16a4\u0001\u0000\u0000\u0000\u16b0"+
56260 "\u16a5\u0001\u0000\u0000\u0000\u16b0\u16a6\u0001\u0000\u0000\u0000\u16b0"+
56261 "\u16a7\u0001\u0000\u0000\u0000\u16b0\u16a8\u0001\u0000\u0000\u0000\u16b0"+
56262 "\u16a9\u0001\u0000\u0000\u0000\u16b0\u16aa\u0001\u0000\u0000\u0000\u16b0"+
56263 "\u16ab\u0001\u0000\u0000\u0000\u16b0\u16ac\u0001\u0000\u0000\u0000\u16b0"+
56264 "\u16ad\u0001\u0000\u0000\u0000\u16b0\u16ae\u0001\u0000\u0000\u0000\u16b0"+
56265 "\u16af\u0001\u0000\u0000\u0000\u16b1\u032d\u0001\u0000\u0000\u0000\u16b2"+
56266 "\u16c3\u00053\u0000\u0000\u16b3\u16c3\u0005\u0133\u0000\u0000\u16b4\u16c3"+
56267 "\u00051\u0000\u0000\u16b5\u16c3\u0005\u012d\u0000\u0000\u16b6\u16c3\u0005"+
56268 "/\u0000\u0000\u16b7\u16c3\u0005\u013d\u0000\u0000\u16b8\u16c3\u0005\u00eb"+
56269 "\u0000\u0000\u16b9\u16c3\u0005.\u0000\u0000\u16ba\u16bb\u0005\u0135\u0000"+
56270 "\u0000\u16bb\u16c3\u0005\u0136\u0000\u0000\u16bc\u16c3\u00050\u0000\u0000"+
56271 "\u16bd\u16be\u0005J\u0000\u0000\u16be\u16bf\u0005\u013e\u0000\u0000\u16bf"+
56272 "\u16c3\u0005\u0140\u0000\u0000\u16c0\u16c1\u0005J\u0000\u0000\u16c1\u16c3"+
56273 "\u0005\u0137\u0000\u0000\u16c2\u16b2\u0001\u0000\u0000\u0000\u16c2\u16b3"+
56274 "\u0001\u0000\u0000\u0000\u16c2\u16b4\u0001\u0000\u0000\u0000\u16c2\u16b5"+
56275 "\u0001\u0000\u0000\u0000\u16c2\u16b6\u0001\u0000\u0000\u0000\u16c2\u16b7"+
56276 "\u0001\u0000\u0000\u0000\u16c2\u16b8\u0001\u0000\u0000\u0000\u16c2\u16b9"+
56277 "\u0001\u0000\u0000\u0000\u16c2\u16ba\u0001\u0000\u0000\u0000\u16c2\u16bc"+
56278 "\u0001\u0000\u0000\u0000\u16c2\u16bd\u0001\u0000\u0000\u0000\u16c2\u16c0"+
56279 "\u0001\u0000\u0000\u0000\u16c3\u032f\u0001\u0000\u0000\u0000\u16c4\u16c5"+
56280 "\u0005\u0152\u0000\u0000\u16c5\u16c6\u0005\u0153\u0000\u0000\u16c6\u1712"+
56281 "\u0005\u0154\u0000\u0000\u16c7\u16cd\u00053\u0000\u0000\u16c8\u16ce\u0005"+
56282 "\u0141\u0000\u0000\u16c9\u16ce\u0005\u0142\u0000\u0000\u16ca\u16ce\u0005"+
56283 "\u013f\u0000\u0000\u16cb\u16cc\u0005\u013c\u0000\u0000\u16cc\u16ce\u0005"+
56284 "\u0143\u0000\u0000\u16cd\u16c8\u0001\u0000\u0000\u0000\u16cd\u16c9\u0001"+
56285 "\u0000\u0000\u0000\u16cd\u16ca\u0001\u0000\u0000\u0000\u16cd\u16cb\u0001"+
56286 "\u0000\u0000\u0000\u16ce\u1712\u0001\u0000\u0000\u0000\u16cf\u16d0\u0005"+
56287 "3\u0000\u0000\u16d0\u16e2\u0005s\u0000\u0000\u16d1\u16d2\u0005\u0144\u0000"+
56288 "\u0000\u16d2\u16e3\u0005v\u0000\u0000\u16d3\u16e3\u0005\u0131\u0000\u0000"+
56289 "\u16d4\u16e3\u0005\u0145\u0000\u0000\u16d5\u16e3\u0005\u00cc\u0000\u0000"+
56290 "\u16d6\u16e3\u0005\u0146\u0000\u0000\u16d7\u16d8\u0005\u0147\u0000\u0000"+
56291 "\u16d8\u16e3\u0005\u0148\u0000\u0000\u16d9\u16da\u0005\u0147\u0000\u0000"+
56292 "\u16da\u16e3\u0005\u012f\u0000\u0000\u16db\u16dc\u0005\u0149\u0000\u0000"+
56293 "\u16dc\u16e3\u0005\u013c\u0000\u0000\u16dd\u16e3\u0005\u0111\u0000\u0000"+
56294 "\u16de\u16df\u0005\u013c\u0000\u0000\u16df\u16e3\u0005\u014a\u0000\u0000"+
56295 "\u16e0\u16e1\u0005\u013c\u0000\u0000\u16e1\u16e3\u0005\u00ed\u0000\u0000"+
56296 "\u16e2\u16d1\u0001\u0000\u0000\u0000\u16e2\u16d3\u0001\u0000\u0000\u0000"+
56297 "\u16e2\u16d4\u0001\u0000\u0000\u0000\u16e2\u16d5\u0001\u0000\u0000\u0000"+
56298 "\u16e2\u16d6\u0001\u0000\u0000\u0000\u16e2\u16d7\u0001\u0000\u0000\u0000"+
56299 "\u16e2\u16d9\u0001\u0000\u0000\u0000\u16e2\u16db\u0001\u0000\u0000\u0000"+
56300 "\u16e2\u16dd\u0001\u0000\u0000\u0000\u16e2\u16de\u0001\u0000\u0000\u0000"+
56301 "\u16e2\u16e0\u0001\u0000\u0000\u0000\u16e3\u1712\u0001\u0000\u0000\u0000"+
56302 "\u16e4\u16e5\u0005\u014f\u0000\u0000\u16e5\u1712\u0005\u013c\u0000\u0000"+
56303 "\u16e6\u16e7\u0005\u0130\u0000\u0000\u16e7\u16e8\u0005s\u0000\u0000\u16e8"+
56304 "\u1712\u0005\u00cc\u0000\u0000\u16e9\u16ea\u0005\u0130\u0000\u0000\u16ea"+
56305 "\u1712\u0005\u00a4\u0000\u0000\u16eb\u16ec\u0005\u0133\u0000\u0000\u16ec"+
56306 "\u1712\u0005\u013c\u0000\u0000\u16ed\u16ee\u00052\u0000\u0000\u16ee\u16ef"+
56307 "\u0005s\u0000\u0000\u16ef\u1712\u0005\u00cc\u0000\u0000\u16f0\u16fc\u0005"+
56308 "2\u0000\u0000\u16f1\u16f2\u0005\u0144\u0000\u0000\u16f2\u16fd\u0005v\u0000"+
56309 "\u0000\u16f3\u16f4\u0005\u014b\u0000\u0000\u16f4\u16f5\u0005\u0147\u0000"+
56310 "\u0000\u16f5\u16fd\u0005\u0148\u0000\u0000\u16f6\u16fd\u0005\u0146\u0000"+
56311 "\u0000\u16f7\u16f8\u0005\u013c\u0000\u0000\u16f8\u16fd\u0005\u00ed\u0000"+
56312 "\u0000\u16f9\u16fa\u0005\u013f\u0000\u0000\u16fa\u16fb\u0005\u0147\u0000"+
56313 "\u0000\u16fb\u16fd\u0005\u0148\u0000\u0000\u16fc\u16f1\u0001\u0000\u0000"+
56314 "\u0000\u16fc\u16f3\u0001\u0000\u0000\u0000\u16fc\u16f6\u0001\u0000\u0000"+
56315 "\u0000\u16fc\u16f7\u0001\u0000\u0000\u0000\u16fc\u16f9\u0001\u0000\u0000"+
56316 "\u0000\u16fd\u1712\u0001\u0000\u0000\u0000\u16fe\u16ff\u0005\u0150\u0000"+
56317 "\u0000\u16ff\u1700\u0005\u0151\u0000\u0000\u1700\u1712\u0005\u0139\u0000"+
56318 "\u0000\u1701\u1702\u0005\u014d\u0000\u0000\u1702\u1703\u0005s\u0000\u0000"+
56319 "\u1703\u1712\u0005\u0111\u0000\u0000\u1704\u1705\u0005.\u0000\u0000\u1705"+
56320 "\u1706\u0005r\u0000\u0000\u1706\u1707\u0005\u00ec\u0000\u0000\u1707\u1712"+
56321 "\u0005\u014e\u0000\u0000\u1708\u1712\u0005\u0156\u0000\u0000\u1709\u170a"+
56322 "\u0005\u0155\u0000\u0000\u170a\u1712\u0005\u0139\u0000\u0000\u170b\u170c"+
56323 "\u0005J\u0000\u0000\u170c\u170d\u0005s\u0000\u0000\u170d\u1712\u0007T"+
56324 "\u0000\u0000\u170e\u170f\u0005J\u0000\u0000\u170f\u1710\u0005\u013c\u0000"+
56325 "\u0000\u1710\u1712\u0005\u0143\u0000\u0000\u1711\u16c4\u0001\u0000\u0000"+
56326 "\u0000\u1711\u16c7\u0001\u0000\u0000\u0000\u1711\u16cf\u0001\u0000\u0000"+
56327 "\u0000\u1711\u16e4\u0001\u0000\u0000\u0000\u1711\u16e6\u0001\u0000\u0000"+
56328 "\u0000\u1711\u16e9\u0001\u0000\u0000\u0000\u1711\u16eb\u0001\u0000\u0000"+
56329 "\u0000\u1711\u16ed\u0001\u0000\u0000\u0000\u1711\u16f0\u0001\u0000\u0000"+
56330 "\u0000\u1711\u16fe\u0001\u0000\u0000\u0000\u1711\u1701\u0001\u0000\u0000"+
56331 "\u0000\u1711\u1704\u0001\u0000\u0000\u0000\u1711\u1708\u0001\u0000\u0000"+
56332 "\u0000\u1711\u1709\u0001\u0000\u0000\u0000\u1711\u170b\u0001\u0000\u0000"+
56333 "\u0000\u1711\u170e\u0001\u0000\u0000\u0000\u1712\u0331\u0001\u0000\u0000"+
56334 "\u0000\u1713\u1715\u0005\u0133\u0000\u0000\u1714\u1716\u0005\u013c\u0000"+
56335 "\u0000\u1715\u1714\u0001\u0000\u0000\u0000\u1715\u1716\u0001\u0000\u0000"+
56336 "\u0000\u1716\u1726\u0001\u0000\u0000\u0000\u1717\u1726\u0005\u014d\u0000"+
56337 "\u0000\u1718\u171a\u0005J\u0000\u0000\u1719\u171b\u0005s\u0000\u0000\u171a"+
56338 "\u1719\u0001\u0000\u0000\u0000\u171a\u171b\u0001\u0000\u0000\u0000\u171b"+
56339 "\u171c\u0001\u0000\u0000\u0000\u171c\u1726\u0005\u0137\u0000\u0000\u171d"+
56340 "\u1726\u00053\u0000\u0000\u171e\u171f\u00053\u0000\u0000\u171f\u1723\u0005"+
56341 "s\u0000\u0000\u1720\u1724\u0005\u0111\u0000\u0000\u1721\u1722\u0005\u013c"+
56342 "\u0000\u0000\u1722\u1724\u0005\u00ed\u0000\u0000\u1723\u1720\u0001\u0000"+
56343 "\u0000\u0000\u1723\u1721\u0001\u0000\u0000\u0000\u1724\u1726\u0001\u0000"+
56344 "\u0000\u0000\u1725\u1713\u0001\u0000\u0000\u0000\u1725\u1717\u0001\u0000"+
56345 "\u0000\u0000\u1725\u1718\u0001\u0000\u0000\u0000\u1725\u171d\u0001\u0000"+
56346 "\u0000\u0000\u1725\u171e\u0001\u0000\u0000\u0000\u1726\u0333\u0001\u0000"+
56347 "\u0000\u0000\u1727\u1728\u0005\u0152\u0000\u0000\u1728\u1729\u0005\u00cc"+
56348 "\u0000\u0000\u1729\u172a\u0005\u0153\u0000\u0000\u172a\u17cf\u0005\u0154"+
56349 "\u0000\u0000\u172b\u17cf\u00053\u0000\u0000\u172c\u172d\u00053\u0000\u0000"+
56350 "\u172d\u17cf\u0005\u013f\u0000\u0000\u172e\u172f\u00053\u0000\u0000\u172f"+
56351 "\u1769\u0005s\u0000\u0000\u1730\u1731\u0005\u0138\u0000\u0000\u1731\u176a"+
56352 "\u0005\u00ed\u0000\u0000\u1732\u176a\u0005\u0139\u0000\u0000\u1733\u1738"+
56353 "\u0005\u013a\u0000\u0000\u1734\u1738\u0005\u013b\u0000\u0000\u1735\u1736"+
56354 "\u0005<\u0000\u0000\u1736\u1738\u0005\u015d\u0000\u0000\u1737\u1733\u0001"+
56355 "\u0000\u0000\u0000\u1737\u1734\u0001\u0000\u0000\u0000\u1737\u1735\u0001"+
56356 "\u0000\u0000\u0000\u1738\u1739\u0001\u0000\u0000\u0000\u1739\u176a\u0005"+
56357 "C\u0000\u0000\u173a\u176a\u0005\u015b\u0000\u0000\u173b\u176a\u0005\u0131"+
56358 "\u0000\u0000\u173c\u173d\u0005<\u0000\u0000\u173d\u173e\u0005\u015e\u0000"+
56359 "\u0000\u173e\u173f\u0005C\u0000\u0000\u173f\u176a\u0005\u0137\u0000\u0000"+
56360 "\u1740\u176a\u0005\u015c\u0000\u0000\u1741\u174b\u0005\u00cc\u0000\u0000"+
56361 "\u1742\u174c\u0005\u014a\u0000\u0000\u1743\u1744\u0005\u014b\u0000\u0000"+
56362 "\u1744\u174c\u0005G\u0000\u0000\u1745\u1746\u0005\u0147\u0000\u0000\u1746"+
56363 "\u174c\u0005\u0148\u0000\u0000\u1747\u1748\u0005\u0147\u0000\u0000\u1748"+
56364 "\u174c\u0005\u012f\u0000\u0000\u1749\u174a\u0005\u0157\u0000\u0000\u174a"+
56365 "\u174c\u0005\u0158\u0000\u0000\u174b\u1742\u0001\u0000\u0000\u0000\u174b"+
56366 "\u1743\u0001\u0000\u0000\u0000\u174b\u1745\u0001\u0000\u0000\u0000\u174b"+
56367 "\u1747\u0001\u0000\u0000\u0000\u174b\u1749\u0001\u0000\u0000\u0000\u174b"+
56368 "\u174c\u0001\u0000\u0000\u0000\u174c\u176a\u0001\u0000\u0000\u0000\u174d"+
56369 "\u176a\u0005\u0159\u0000\u0000\u174e\u174f\u0005\u0147\u0000\u0000\u174f"+
56370 "\u176a\u0007U\u0000\u0000\u1750\u1756\u0005\u0150\u0000\u0000\u1751\u1752"+
56371 "\u0005\u015f\u0000\u0000\u1752\u1757\u0005\u0160\u0000\u0000\u1753\u1754"+
56372 "\u0005\u0161\u0000\u0000\u1754\u1757\u0005\u0162\u0000\u0000\u1755\u1757"+
56373 "\u0005\u0163\u0000\u0000\u1756\u1751\u0001\u0000\u0000\u0000\u1756\u1753"+
56374 "\u0001\u0000\u0000\u0000\u1756\u1755\u0001\u0000\u0000\u0000\u1757\u176a"+
56375 "\u0001\u0000\u0000\u0000\u1758\u1759\u0005\u0164\u0000\u0000\u1759\u176a"+
56376 "\u0005\u0132\u0000\u0000\u175a\u176a\u0005\u0165\u0000\u0000\u175b\u175c"+
56377 "\u0005\u0167\u0000\u0000\u175c\u176a\u0005\u00b0\u0000\u0000\u175d\u175e"+
56378 "\u0005\u0168\u0000\u0000\u175e\u175f\u0005\u015a\u0000\u0000\u175f\u176a"+
56379 "\u0005\u0169\u0000\u0000\u1760\u176a\u0005\u00ed\u0000\u0000\u1761\u176a"+
56380 "\u0005\u016a\u0000\u0000\u1762\u1763\u0005\u013c\u0000\u0000\u1763\u176a"+
56381 "\u0005\u014a\u0000\u0000\u1764\u176a\u00056\u0000\u0000\u1765\u1766\u0005"+
56382 "\u016b\u0000\u0000\u1766\u176a\u0005\u016c\u0000\u0000\u1767\u176a\u0005"+
56383 "\u015a\u0000\u0000\u1768\u176a\u0005\u00ec\u0000\u0000\u1769\u1730\u0001"+
56384 "\u0000\u0000\u0000\u1769\u1732\u0001\u0000\u0000\u0000\u1769\u1737\u0001"+
56385 "\u0000\u0000\u0000\u1769\u173a\u0001\u0000\u0000\u0000\u1769\u173b\u0001"+
56386 "\u0000\u0000\u0000\u1769\u173c\u0001\u0000\u0000\u0000\u1769\u1740\u0001"+
56387 "\u0000\u0000\u0000\u1769\u1741\u0001\u0000\u0000\u0000\u1769\u174d\u0001"+
56388 "\u0000\u0000\u0000\u1769\u174e\u0001\u0000\u0000\u0000\u1769\u1750\u0001"+
56389 "\u0000\u0000\u0000\u1769\u1758\u0001\u0000\u0000\u0000\u1769\u175a\u0001"+
56390 "\u0000\u0000\u0000\u1769\u175b\u0001\u0000\u0000\u0000\u1769\u175d\u0001"+
56391 "\u0000\u0000\u0000\u1769\u1760\u0001\u0000\u0000\u0000\u1769\u1761\u0001"+
56392 "\u0000\u0000\u0000\u1769\u1762\u0001\u0000\u0000\u0000\u1769\u1764\u0001"+
56393 "\u0000\u0000\u0000\u1769\u1765\u0001\u0000\u0000\u0000\u1769\u1767\u0001"+
56394 "\u0000\u0000\u0000\u1769\u1768\u0001\u0000\u0000\u0000\u176a\u17cf\u0001"+
56395 "\u0000\u0000\u0000\u176b\u176d\u0005\u014f\u0000\u0000\u176c\u176e\u0005"+
56396 "\u013c\u0000\u0000\u176d\u176c\u0001\u0000\u0000\u0000\u176d\u176e\u0001"+
56397 "\u0000\u0000\u0000\u176e\u17cf\u0001\u0000\u0000\u0000\u176f\u1770\u0005"+
56398 "\u0174\u0000\u0000\u1770\u17cf\u0007V\u0000\u0000\u1771\u17cf\u0005\u017a"+
56399 "\u0000\u0000\u1772\u17cf\u0005\u0130\u0000\u0000\u1773\u1775\u0005\u0130"+
56400 "\u0000\u0000\u1774\u1776\u0005\u0123\u0000\u0000\u1775\u1774\u0001\u0000"+
56401 "\u0000\u0000\u1775\u1776\u0001\u0000\u0000\u0000\u1776\u17cf\u0001\u0000"+
56402 "\u0000\u0000\u1777\u1779\u0005\u0133\u0000\u0000\u1778\u177a\u0005\u013c"+
56403 "\u0000\u0000\u1779\u1778\u0001\u0000\u0000\u0000\u1779\u177a\u0001\u0000"+
56404 "\u0000\u0000\u177a\u17cf\u0001\u0000\u0000\u0000\u177b\u17a0\u00052\u0000"+
56405 "\u0000\u177c\u17a1\u0005\u016d\u0000\u0000\u177d\u17a1\u0005\u0139\u0000"+
56406 "\u0000\u177e\u177f\u0007W\u0000\u0000\u177f\u17a1\u0005C\u0000\u0000\u1780"+
56407 "\u17a1\u0005\u015b\u0000\u0000\u1781\u17a1\u0005\u015c\u0000\u0000\u1782"+
56408 "\u17a1\u0005\u00cc\u0000\u0000\u1783\u1785\u0005\u00cc\u0000\u0000\u1784"+
56409 "\u1783\u0001\u0000\u0000\u0000\u1784\u1785\u0001\u0000\u0000\u0000\u1785"+
56410 "\u1786\u0001\u0000\u0000\u0000\u1786\u1787\u0005\u014b\u0000\u0000\u1787"+
56411 "\u1788\u0005\u0147\u0000\u0000\u1788\u17a1\u0005\u0148\u0000\u0000\u1789"+
56412 "\u17a1\u0005\u009a\u0000\u0000\u178a\u178b\u0005\u0164\u0000\u0000\u178b"+
56413 "\u17a1\u0005\u0132\u0000\u0000\u178c\u17a1\u0005F\u0000\u0000\u178d\u178e"+
56414 "\u0005\u0167\u0000\u0000\u178e\u17a1\u0005\u00b0\u0000\u0000\u178f\u17a1"+
56415 "\u0005H\u0000\u0000\u1790\u17a1\u0005\u016e\u0000\u0000\u1791\u1792\u0005"+
56416 "\u0168\u0000\u0000\u1792\u1793\u0005\u015a\u0000\u0000\u1793\u17a1\u0005"+
56417 "\u0169\u0000\u0000\u1794\u17a1\u0005\u00ed\u0000\u0000\u1795\u17a1\u0005"+
56418 "\u016a\u0000\u0000\u1796\u17a1\u0005\u016f\u0000\u0000\u1797\u17a1\u0005"+
56419 "6\u0000\u0000\u1798\u17a1\u0005\u015a\u0000\u0000\u1799\u17a1\u0005\u0170"+
56420 "\u0000\u0000\u179a\u17a1\u0005;\u0000\u0000\u179b\u17a1\u0005\u00b0\u0000"+
56421 "\u0000\u179c\u17a1\u0005J\u0000\u0000\u179d\u179e\u0005\u014c\u0000\u0000"+
56422 "\u179e\u179f\u00056\u0000\u0000\u179f\u17a1\u0005\u0171\u0000\u0000\u17a0"+
56423 "\u177c\u0001\u0000\u0000\u0000\u17a0\u177d\u0001\u0000\u0000\u0000\u17a0"+
56424 "\u177e\u0001\u0000\u0000\u0000\u17a0\u1780\u0001\u0000\u0000\u0000\u17a0"+
56425 "\u1781\u0001\u0000\u0000\u0000\u17a0\u1782\u0001\u0000\u0000\u0000\u17a0"+
56426 "\u1784\u0001\u0000\u0000\u0000\u17a0\u1789\u0001\u0000\u0000\u0000\u17a0"+
56427 "\u178a\u0001\u0000\u0000\u0000\u17a0\u178c\u0001\u0000\u0000\u0000\u17a0"+
56428 "\u178d\u0001\u0000\u0000\u0000\u17a0\u178f\u0001\u0000\u0000\u0000\u17a0"+
56429 "\u1790\u0001\u0000\u0000\u0000\u17a0\u1791\u0001\u0000\u0000\u0000\u17a0"+
56430 "\u1794\u0001\u0000\u0000\u0000\u17a0\u1795\u0001\u0000\u0000\u0000\u17a0"+
56431 "\u1796\u0001\u0000\u0000\u0000\u17a0\u1797\u0001\u0000\u0000\u0000\u17a0"+
56432 "\u1798\u0001\u0000\u0000\u0000\u17a0\u1799\u0001\u0000\u0000\u0000\u17a0"+
56433 "\u179a\u0001\u0000\u0000\u0000\u17a0\u179b\u0001\u0000\u0000\u0000\u17a0"+
56434 "\u179c\u0001\u0000\u0000\u0000\u17a0\u179d\u0001\u0000\u0000\u0000\u17a1"+
56435 "\u17cf\u0001\u0000\u0000\u0000\u17a2\u17cf\u00051\u0000\u0000\u17a3\u17cf"+
56436 "\u0005\u012d\u0000\u0000\u17a4\u17a6\u0005\u012d\u0000\u0000\u17a5\u17a7"+
56437 "\u0005s\u0000\u0000\u17a6\u17a5\u0001\u0000\u0000\u0000\u17a6\u17a7\u0001"+
56438 "\u0000\u0000\u0000\u17a7\u17a8\u0001\u0000\u0000\u0000\u17a8\u17a9\u0005"+
56439 "\u0150\u0000\u0000\u17a9\u17cf\u0005\u0172\u0000\u0000\u17aa\u17cf\u0005"+
56440 "/\u0000\u0000\u17ab\u17ac\u0005\u0173\u0000\u0000\u17ac\u17ad\u0005\u00cc"+
56441 "\u0000\u0000\u17ad\u17cf\u0005\u0131\u0000\u0000\u17ae\u17cf\u0005\u00eb"+
56442 "\u0000\u0000\u17af\u17cf\u0005.\u0000\u0000\u17b0\u17cf\u0005\u0176\u0000"+
56443 "\u0000\u17b1\u17b2\u0005\u0177\u0000\u0000\u17b2\u17b3\u0005\u0178\u0000"+
56444 "\u0000\u17b3\u17cf\u0005\u0179\u0000\u0000\u17b4\u17b5\u0005\u0135\u0000"+
56445 "\u0000\u17b5\u17cf\u0005\u0136\u0000\u0000\u17b6\u17cf\u0005\u0166\u0000"+
56446 "\u0000\u17b7\u17cf\u00050\u0000\u0000\u17b8\u17b9\u0005J\u0000\u0000\u17b9"+
56447 "\u17ba\u0005s\u0000\u0000\u17ba\u17bb\u0005<\u0000\u0000\u17bb\u17bc\u0007"+
56448 "X\u0000\u0000\u17bc\u17bd\u0005C\u0000\u0000\u17bd\u17cf\u0005\u0137\u0000"+
56449 "\u0000\u17be\u17bf\u00052\u0000\u0000\u17bf\u17c3\u0005s\u0000\u0000\u17c0"+
56450 "\u17c4\u0005\u00cc\u0000\u0000\u17c1\u17c2\u0005\u0150\u0000\u0000\u17c2"+
56451 "\u17c4\u0005\u0163\u0000\u0000\u17c3\u17c0\u0001\u0000\u0000\u0000\u17c3"+
56452 "\u17c1\u0001\u0000\u0000\u0000\u17c4\u17cf\u0001\u0000\u0000\u0000\u17c5"+
56453 "\u17c6\u0005J\u0000\u0000\u17c6\u17c7\u0007Y\u0000\u0000\u17c7\u17cf\u0005"+
56454 "\u0143\u0000\u0000\u17c8\u17ca\u0005J\u0000\u0000\u17c9\u17cb\u0005s\u0000"+
56455 "\u0000\u17ca\u17c9\u0001\u0000\u0000\u0000\u17ca\u17cb\u0001\u0000\u0000"+
56456 "\u0000\u17cb\u17cc\u0001\u0000\u0000\u0000\u17cc\u17cf\u0005\u0137\u0000"+
56457 "\u0000\u17cd\u17cf\u0001\u0000\u0000\u0000\u17ce\u1727\u0001\u0000\u0000"+
56458 "\u0000\u17ce\u172b\u0001\u0000\u0000\u0000\u17ce\u172c\u0001\u0000\u0000"+
56459 "\u0000\u17ce\u172e\u0001\u0000\u0000\u0000\u17ce\u176b\u0001\u0000\u0000"+
56460 "\u0000\u17ce\u176f\u0001\u0000\u0000\u0000\u17ce\u1771\u0001\u0000\u0000"+
56461 "\u0000\u17ce\u1772\u0001\u0000\u0000\u0000\u17ce\u1773\u0001\u0000\u0000"+
56462 "\u0000\u17ce\u1777\u0001\u0000\u0000\u0000\u17ce\u177b\u0001\u0000\u0000"+
56463 "\u0000\u17ce\u17a2\u0001\u0000\u0000\u0000\u17ce\u17a3\u0001\u0000\u0000"+
56464 "\u0000\u17ce\u17a4\u0001\u0000\u0000\u0000\u17ce\u17aa\u0001\u0000\u0000"+
56465 "\u0000\u17ce\u17ab\u0001\u0000\u0000\u0000\u17ce\u17ae\u0001\u0000\u0000"+
56466 "\u0000\u17ce\u17af\u0001\u0000\u0000\u0000\u17ce\u17b0\u0001\u0000\u0000"+
56467 "\u0000\u17ce\u17b1\u0001\u0000\u0000\u0000\u17ce\u17b4\u0001\u0000\u0000"+
56468 "\u0000\u17ce\u17b6\u0001\u0000\u0000\u0000\u17ce\u17b7\u0001\u0000\u0000"+
56469 "\u0000\u17ce\u17b8\u0001\u0000\u0000\u0000\u17ce\u17be\u0001\u0000\u0000"+
56470 "\u0000\u17ce\u17c5\u0001\u0000\u0000\u0000\u17ce\u17c8\u0001\u0000\u0000"+
56471 "\u0000\u17ce\u17cd\u0001\u0000\u0000\u0000\u17cf\u0335\u0001\u0000\u0000"+
56472 "\u0000\u17d0\u17d4\u0003\u0338\u019c\u0000\u17d1\u17d4\u0003\u033a\u019d"+
56473 "\u0000\u17d2\u17d4\u0003\u033c\u019e\u0000\u17d3\u17d0\u0001\u0000\u0000"+
56474 "\u0000\u17d3\u17d1\u0001\u0000\u0000\u0000\u17d3\u17d2\u0001\u0000\u0000"+
56475 "\u0000\u17d4\u0337\u0001\u0000\u0000\u0000\u17d5\u17de\u0005\u0133\u0000"+
56476 "\u0000\u17d6\u17de\u0005\u014d\u0000\u0000\u17d7\u17de\u00053\u0000\u0000"+
56477 "\u17d8\u17d9\u0005J\u0000\u0000\u17d9\u17de\u0005\u0137\u0000\u0000\u17da"+
56478 "\u17db\u00053\u0000\u0000\u17db\u17dc\u0005s\u0000\u0000\u17dc\u17de\u0005"+
56479 "\u00ec\u0000\u0000\u17dd\u17d5\u0001\u0000\u0000\u0000\u17dd\u17d6\u0001"+
56480 "\u0000\u0000\u0000\u17dd\u17d7\u0001\u0000\u0000\u0000\u17dd\u17d8\u0001"+
56481 "\u0000\u0000\u0000\u17dd\u17da\u0001\u0000\u0000\u0000\u17de\u0339\u0001"+
56482 "\u0000\u0000\u0000\u17df\u17e9\u0005\u0133\u0000\u0000\u17e0\u17e1\u0005"+
56483 "\u0135\u0000\u0000\u17e1\u17e9\u0005\u0136\u0000\u0000\u17e2\u17e9\u0005"+
56484 "3\u0000\u0000\u17e3\u17e4\u0005J\u0000\u0000\u17e4\u17e9\u0005\u0137\u0000"+
56485 "\u0000\u17e5\u17e6\u00053\u0000\u0000\u17e6\u17e7\u0005s\u0000\u0000\u17e7"+
56486 "\u17e9\u0005\u00ed\u0000\u0000\u17e8\u17df\u0001\u0000\u0000\u0000\u17e8"+
56487 "\u17e0\u0001\u0000\u0000\u0000\u17e8\u17e2\u0001\u0000\u0000\u0000\u17e8"+
56488 "\u17e3\u0001\u0000\u0000\u0000\u17e8\u17e5\u0001\u0000\u0000\u0000\u17e9"+
56489 "\u033b\u0001\u0000\u0000\u0000\u17ea\u17f3\u0005\u0133\u0000\u0000\u17eb"+
56490 "\u17f3\u00053\u0000\u0000\u17ec\u17ed\u0005J\u0000\u0000\u17ed\u17f3\u0005"+
56491 "\u0137\u0000\u0000\u17ee\u17ef\u00053\u0000\u0000\u17ef\u17f0\u0005s\u0000"+
56492 "\u0000\u17f0\u17f1\u0005\u0138\u0000\u0000\u17f1\u17f3\u0005\u00ed\u0000"+
56493 "\u0000\u17f2\u17ea\u0001\u0000\u0000\u0000\u17f2\u17eb\u0001\u0000\u0000"+
56494 "\u0000\u17f2\u17ec\u0001\u0000\u0000\u0000\u17f2\u17ee\u0001\u0000\u0000"+
56495 "\u0000\u17f3\u033d\u0001\u0000\u0000\u0000\u17f4\u17fc\u0005\u0133\u0000"+
56496 "\u0000\u17f5\u17f6\u0005\u0135\u0000\u0000\u17f6\u17fc\u0005\u0136\u0000"+
56497 "\u0000\u17f7\u17fc\u00053\u0000\u0000\u17f8\u17fc\u0005\u00eb\u0000\u0000"+
56498 "\u17f9\u17fa\u0005J\u0000\u0000\u17fa\u17fc\u0005\u0137\u0000\u0000\u17fb"+
56499 "\u17f4\u0001\u0000\u0000\u0000\u17fb\u17f5\u0001\u0000\u0000\u0000\u17fb"+
56500 "\u17f7\u0001\u0000\u0000\u0000\u17fb\u17f8\u0001\u0000\u0000\u0000\u17fb"+
56501 "\u17f9\u0001\u0000\u0000\u0000\u17fc\u033f\u0001\u0000\u0000\u0000\u17fd"+
56502 "\u1812\u00053\u0000\u0000\u17fe\u1812\u0005\u0133\u0000\u0000\u17ff\u1800"+
56503 "\u00052\u0000\u0000\u1800\u1812\u0005\u017b\u0000\u0000\u1801\u1812\u0005"+
56504 "1\u0000\u0000\u1802\u1812\u0005\u012d\u0000\u0000\u1803\u1812\u0005/\u0000"+
56505 "\u0000\u1804\u1812\u0005\u00eb\u0000\u0000\u1805\u1812\u0005.\u0000\u0000"+
56506 "\u1806\u1807\u0005\u0135\u0000\u0000\u1807\u1812\u0005\u0136\u0000\u0000"+
56507 "\u1808\u1812\u00050\u0000\u0000\u1809\u180a\u0005J\u0000\u0000\u180a\u180b"+
56508 "\u0005\u013e\u0000\u0000\u180b\u1812\u0005\u0140\u0000\u0000\u180c\u180d"+
56509 "\u0005J\u0000\u0000\u180d\u1812\u0005\u0137\u0000\u0000\u180e\u180f\u0005"+
56510 "3\u0000\u0000\u180f\u1810\u0005s\u0000\u0000\u1810\u1812\u00056\u0000"+
56511 "\u0000\u1811\u17fd\u0001\u0000\u0000\u0000\u1811\u17fe\u0001\u0000\u0000"+
56512 "\u0000\u1811\u17ff\u0001\u0000\u0000\u0000\u1811\u1801\u0001\u0000\u0000"+
56513 "\u0000\u1811\u1802\u0001\u0000\u0000\u0000\u1811\u1803\u0001\u0000\u0000"+
56514 "\u0000\u1811\u1804\u0001\u0000\u0000\u0000\u1811\u1805\u0001\u0000\u0000"+
56515 "\u0000\u1811\u1806\u0001\u0000\u0000\u0000\u1811\u1808\u0001\u0000\u0000"+
56516 "\u0000\u1811\u1809\u0001\u0000\u0000\u0000\u1811\u180c\u0001\u0000\u0000"+
56517 "\u0000\u1811\u180e\u0001\u0000\u0000\u0000\u1812\u0341\u0001\u0000\u0000"+
56518 "\u0000\u1813\u181f\u00053\u0000\u0000\u1814\u181f\u0005\u0133\u0000\u0000"+
56519 "\u1815\u181f\u0005\u00eb\u0000\u0000\u1816\u1817\u0005\u0135\u0000\u0000"+
56520 "\u1817\u181f\u0005\u0136\u0000\u0000\u1818\u1819\u0005J\u0000\u0000\u1819"+
56521 "\u181f\u0005\u0137\u0000\u0000\u181a\u181b\u00053\u0000\u0000\u181b\u181c"+
56522 "\u0005s\u0000\u0000\u181c\u181d\u0005\u0164\u0000\u0000\u181d\u181f\u0005"+
56523 "\u0132\u0000\u0000\u181e\u1813\u0001\u0000\u0000\u0000\u181e\u1814\u0001"+
56524 "\u0000\u0000\u0000\u181e\u1815\u0001\u0000\u0000\u0000\u181e\u1816\u0001"+
56525 "\u0000\u0000\u0000\u181e\u1818\u0001\u0000\u0000\u0000\u181e\u181a\u0001"+
56526 "\u0000\u0000\u0000\u181f\u0343\u0001\u0000\u0000\u0000\u1820\u1826\u0003"+
56527 "\u0346\u01a3\u0000\u1821\u1826\u0003\u0348\u01a4\u0000\u1822\u1826\u0003"+
56528 "\u034a\u01a5\u0000\u1823\u1826\u0003\u034c\u01a6\u0000\u1824\u1826\u0003"+
56529 "\u034e\u01a7\u0000\u1825\u1820\u0001\u0000\u0000\u0000\u1825\u1821\u0001"+
56530 "\u0000\u0000\u0000\u1825\u1822\u0001\u0000\u0000\u0000\u1825\u1823\u0001"+
56531 "\u0000\u0000\u0000\u1825\u1824\u0001\u0000\u0000\u0000\u1826\u0345\u0001"+
56532 "\u0000\u0000\u0000\u1827\u1832\u0005\u0133\u0000\u0000\u1828\u1829\u0005"+
56533 "\u0135\u0000\u0000\u1829\u1832\u0005\u0136\u0000\u0000\u182a\u1832\u0005"+
56534 "3\u0000\u0000\u182b\u1832\u0005\u00eb\u0000\u0000\u182c\u182d\u0005J\u0000"+
56535 "\u0000\u182d\u1832\u0005\u0137\u0000\u0000\u182e\u182f\u00053\u0000\u0000"+
56536 "\u182f\u1830\u0005s\u0000\u0000\u1830\u1832\u0005\u015c\u0000\u0000\u1831"+
56537 "\u1827\u0001\u0000\u0000\u0000\u1831\u1828\u0001\u0000\u0000\u0000\u1831"+
56538 "\u182a\u0001\u0000\u0000\u0000\u1831\u182b\u0001\u0000\u0000\u0000\u1831"+
56539 "\u182c\u0001\u0000\u0000\u0000\u1831\u182e\u0001\u0000\u0000\u0000\u1832"+
56540 "\u0347\u0001\u0000\u0000\u0000\u1833\u183f\u0005\u0133\u0000\u0000\u1834"+
56541 "\u1835\u0005\u0135\u0000\u0000\u1835\u183f\u0005\u0136\u0000\u0000\u1836"+
56542 "\u183f\u00053\u0000\u0000\u1837\u183f\u0005\u00eb\u0000\u0000\u1838\u1839"+
56543 "\u0005J\u0000\u0000\u1839\u183f\u0005\u0137\u0000\u0000\u183a\u183b\u0005"+
56544 "3\u0000\u0000\u183b\u183c\u0005s\u0000\u0000\u183c\u183d\u0005\u0167\u0000"+
56545 "\u0000\u183d\u183f\u0005\u00b0\u0000\u0000\u183e\u1833\u0001\u0000\u0000"+
56546 "\u0000\u183e\u1834\u0001\u0000\u0000\u0000\u183e\u1836\u0001\u0000\u0000"+
56547 "\u0000\u183e\u1837\u0001\u0000\u0000\u0000\u183e\u1838\u0001\u0000\u0000"+
56548 "\u0000\u183e\u183a\u0001\u0000\u0000\u0000\u183f\u0349\u0001\u0000\u0000"+
56549 "\u0000\u1840\u184c\u0005\u0133\u0000\u0000\u1841\u1842\u0005\u0135\u0000"+
56550 "\u0000\u1842\u184c\u0005\u0136\u0000\u0000\u1843\u184c\u00053\u0000\u0000"+
56551 "\u1844\u1845\u0005J\u0000\u0000\u1845\u184c\u0005\u0137\u0000\u0000\u1846"+
56552 "\u1847\u00053\u0000\u0000\u1847\u1848\u0005s\u0000\u0000\u1848\u1849\u0005"+
56553 "\u0168\u0000\u0000\u1849\u184a\u0005\u015a\u0000\u0000\u184a\u184c\u0005"+
56554 "\u0169\u0000\u0000\u184b\u1840\u0001\u0000\u0000\u0000\u184b\u1841\u0001"+
56555 "\u0000\u0000\u0000\u184b\u1843\u0001\u0000\u0000\u0000\u184b\u1844\u0001"+
56556 "\u0000\u0000\u0000\u184b\u1846\u0001\u0000\u0000\u0000\u184c\u034b\u0001"+
56557 "\u0000\u0000\u0000\u184d\u1857\u0005\u0133\u0000\u0000\u184e\u184f\u0005"+
56558 "\u0135\u0000\u0000\u184f\u1857\u0005\u0136\u0000\u0000\u1850\u1857\u0005"+
56559 "3\u0000\u0000\u1851\u1852\u0005J\u0000\u0000\u1852\u1857\u0005\u0137\u0000"+
56560 "\u0000\u1853\u1854\u00053\u0000\u0000\u1854\u1855\u0005s\u0000\u0000\u1855"+
56561 "\u1857\u0005\u016a\u0000\u0000\u1856\u184d\u0001\u0000\u0000\u0000\u1856"+
56562 "\u184e\u0001\u0000\u0000\u0000\u1856\u1850\u0001\u0000\u0000\u0000\u1856"+
56563 "\u1851\u0001\u0000\u0000\u0000\u1856\u1853\u0001\u0000\u0000\u0000\u1857"+
56564 "\u034d\u0001\u0000\u0000\u0000\u1858\u1863\u0005\u0133\u0000\u0000\u1859"+
56565 "\u185a\u0005\u0135\u0000\u0000\u185a\u1863\u0005\u0136\u0000\u0000\u185b"+
56566 "\u1863\u0005\u0294\u0000\u0000\u185c\u1863\u00053\u0000\u0000\u185d\u185e"+
56567 "\u0005J\u0000\u0000\u185e\u1863\u0005\u0137\u0000\u0000\u185f\u1860\u0005"+
56568 "3\u0000\u0000\u1860\u1861\u0005s\u0000\u0000\u1861\u1863\u0005\u015a\u0000"+
56569 "\u0000\u1862\u1858\u0001\u0000\u0000\u0000\u1862\u1859\u0001\u0000\u0000"+
56570 "\u0000\u1862\u185b\u0001\u0000\u0000\u0000\u1862\u185c\u0001\u0000\u0000"+
56571 "\u0000\u1862\u185d\u0001\u0000\u0000\u0000\u1862\u185f\u0001\u0000\u0000"+
56572 "\u0000\u1863\u034f\u0001\u0000\u0000\u0000\u1864\u1875\u00053\u0000\u0000"+
56573 "\u1865\u1875\u0005\u0130\u0000\u0000\u1866\u1868\u0005\u0133\u0000\u0000"+
56574 "\u1867\u1869\u0005\u013c\u0000\u0000\u1868\u1867\u0001\u0000\u0000\u0000"+
56575 "\u1868\u1869\u0001\u0000\u0000\u0000\u1869\u1875\u0001\u0000\u0000\u0000"+
56576 "\u186a\u186b\u0005\u0135\u0000\u0000\u186b\u1875\u0005\u0136\u0000\u0000"+
56577 "\u186c\u186e\u0005J\u0000\u0000\u186d\u186f\u0005s\u0000\u0000\u186e\u186d"+
56578 "\u0001\u0000\u0000\u0000\u186e\u186f\u0001\u0000\u0000\u0000\u186f\u1870"+
56579 "\u0001\u0000\u0000\u0000\u1870\u1875\u0005\u0137\u0000\u0000\u1871\u1872"+
56580 "\u00053\u0000\u0000\u1872\u1873\u0005s\u0000\u0000\u1873\u1875\u0005\u0146"+
56581 "\u0000\u0000\u1874\u1864\u0001\u0000\u0000\u0000\u1874\u1865\u0001\u0000"+
56582 "\u0000\u0000\u1874\u1866\u0001\u0000\u0000\u0000\u1874\u186a\u0001\u0000"+
56583 "\u0000\u0000\u1874\u186c\u0001\u0000\u0000\u0000\u1874\u1871\u0001\u0000"+
56584 "\u0000\u0000\u1875\u0351\u0001\u0000\u0000\u0000\u1876\u1881\u0005\u0133"+
56585 "\u0000\u0000\u1877\u1878\u0005\u0135\u0000\u0000\u1878\u1881\u0005\u0136"+
56586 "\u0000\u0000\u1879\u1881\u00053\u0000\u0000\u187a\u1881\u0005\u00eb\u0000"+
56587 "\u0000\u187b\u187c\u0005J\u0000\u0000\u187c\u1881\u0005\u0137\u0000\u0000"+
56588 "\u187d\u187e\u00053\u0000\u0000\u187e\u187f\u0005s\u0000\u0000\u187f\u1881"+
56589 "\u0005\u015b\u0000\u0000\u1880\u1876\u0001\u0000\u0000\u0000\u1880\u1877"+
56590 "\u0001\u0000\u0000\u0000\u1880\u1879\u0001\u0000\u0000\u0000\u1880\u187a"+
56591 "\u0001\u0000\u0000\u0000\u1880\u187b\u0001\u0000\u0000\u0000\u1880\u187d"+
56592 "\u0001\u0000\u0000\u0000\u1881\u0353\u0001\u0000\u0000\u0000\u1882\u188e"+
56593 "\u00053\u0000\u0000\u1883\u188e\u0005\u0133\u0000\u0000\u1884\u188e\u0005"+
56594 "\u00eb\u0000\u0000\u1885\u1886\u0005\u0135\u0000\u0000\u1886\u188e\u0005"+
56595 "\u0136\u0000\u0000\u1887\u1888\u0005J\u0000\u0000\u1888\u188e\u0005\u0137"+
56596 "\u0000\u0000\u1889\u188a\u00053\u0000\u0000\u188a\u188b\u0005s\u0000\u0000"+
56597 "\u188b\u188c\u0005\u013a\u0000\u0000\u188c\u188e\u0005C\u0000\u0000\u188d"+
56598 "\u1882\u0001\u0000\u0000\u0000\u188d\u1883\u0001\u0000\u0000\u0000\u188d"+
56599 "\u1884\u0001\u0000\u0000\u0000\u188d\u1885\u0001\u0000\u0000\u0000\u188d"+
56600 "\u1887\u0001\u0000\u0000\u0000\u188d\u1889\u0001\u0000\u0000\u0000\u188e"+
56601 "\u0355\u0001\u0000\u0000\u0000\u188f\u189b\u0005\u0133\u0000\u0000\u1890"+
56602 "\u1891\u0005\u0135\u0000\u0000\u1891\u189b\u0005\u0136\u0000\u0000\u1892"+
56603 "\u189b\u00053\u0000\u0000\u1893\u189b\u0005\u00eb\u0000\u0000\u1894\u1895"+
56604 "\u0005J\u0000\u0000\u1895\u189b\u0005\u0137\u0000\u0000\u1896\u1897\u0005"+
56605 "3\u0000\u0000\u1897\u1898\u0005s\u0000\u0000\u1898\u1899\u0005\u013b\u0000"+
56606 "\u0000\u1899\u189b\u0005C\u0000\u0000\u189a\u188f\u0001\u0000\u0000\u0000"+
56607 "\u189a\u1890\u0001\u0000\u0000\u0000\u189a\u1892\u0001\u0000\u0000\u0000"+
56608 "\u189a\u1893\u0001\u0000\u0000\u0000\u189a\u1894\u0001\u0000\u0000\u0000"+
56609 "\u189a\u1896\u0001\u0000\u0000\u0000\u189b\u0357\u0001\u0000\u0000\u0000"+
56610 "\u189c\u18a7\u0005\u0133\u0000\u0000\u189d\u189e\u0005\u0135\u0000\u0000"+
56611 "\u189e\u18a7\u0005\u0136\u0000\u0000\u189f\u18a7\u00053\u0000\u0000\u18a0"+
56612 "\u18a7\u0005\u00eb\u0000\u0000\u18a1\u18a2\u0005J\u0000\u0000\u18a2\u18a7"+
56613 "\u0005\u0137\u0000\u0000\u18a3\u18a4\u00053\u0000\u0000\u18a4\u18a5\u0005"+
56614 "s\u0000\u0000\u18a5\u18a7\u0005\u0139\u0000\u0000\u18a6\u189c\u0001\u0000"+
56615 "\u0000\u0000\u18a6\u189d\u0001\u0000\u0000\u0000\u18a6\u189f\u0001\u0000"+
56616 "\u0000\u0000\u18a6\u18a0\u0001\u0000\u0000\u0000\u18a6\u18a1\u0001\u0000"+
56617 "\u0000\u0000\u18a6\u18a3\u0001\u0000\u0000\u0000\u18a7\u0359\u0001\u0000"+
56618 "\u0000\u0000\u18a8\u18ba\u00053\u0000\u0000\u18a9\u18ba\u0005\u0130\u0000"+
56619 "\u0000\u18aa\u18ac\u0005\u0133\u0000\u0000\u18ab\u18ad\u0005\u013c\u0000"+
56620 "\u0000\u18ac\u18ab\u0001\u0000\u0000\u0000\u18ac\u18ad\u0001\u0000\u0000"+
56621 "\u0000\u18ad\u18ba\u0001\u0000\u0000\u0000\u18ae\u18af\u0005\u0135\u0000"+
56622 "\u0000\u18af\u18ba\u0005\u0136\u0000\u0000\u18b0\u18b2\u0005J\u0000\u0000"+
56623 "\u18b1\u18b3\u0005s\u0000\u0000\u18b2\u18b1\u0001\u0000\u0000\u0000\u18b2"+
56624 "\u18b3\u0001\u0000\u0000\u0000\u18b3\u18b4\u0001\u0000\u0000\u0000\u18b4"+
56625 "\u18ba\u0005\u0137\u0000\u0000\u18b5\u18b6\u00053\u0000\u0000\u18b6\u18b7"+
56626 "\u0005s\u0000\u0000\u18b7\u18b8\u0005\u0144\u0000\u0000\u18b8\u18ba\u0005"+
56627 "v\u0000\u0000\u18b9\u18a8\u0001\u0000\u0000\u0000\u18b9\u18a9\u0001\u0000"+
56628 "\u0000\u0000\u18b9\u18aa\u0001\u0000\u0000\u0000\u18b9\u18ae\u0001\u0000"+
56629 "\u0000\u0000\u18b9\u18b0\u0001\u0000\u0000\u0000\u18b9\u18b5\u0001\u0000"+
56630 "\u0000\u0000\u18ba\u035b\u0001\u0000\u0000\u0000\u18bb\u18be\u0003\u035e"+
56631 "\u01af\u0000\u18bc\u18be\u0003\u0360\u01b0\u0000\u18bd\u18bb\u0001\u0000"+
56632 "\u0000\u0000\u18bd\u18bc\u0001\u0000\u0000\u0000\u18be\u035d\u0001\u0000"+
56633 "\u0000\u0000\u18bf\u18cb\u0005\u0133\u0000\u0000\u18c0\u18c1\u0005\u0135"+
56634 "\u0000\u0000\u18c1\u18cb\u0005\u0136\u0000\u0000\u18c2\u18cb\u00053\u0000"+
56635 "\u0000\u18c3\u18cb\u0005\u00eb\u0000\u0000\u18c4\u18c5\u0005J\u0000\u0000"+
56636 "\u18c5\u18cb\u0005\u0137\u0000\u0000\u18c6\u18c7\u00053\u0000\u0000\u18c7"+
56637 "\u18c8\u0005s\u0000\u0000\u18c8\u18c9\u0005\u0164\u0000\u0000\u18c9\u18cb"+
56638 "\u0005\u0132\u0000\u0000\u18ca\u18bf\u0001\u0000\u0000\u0000\u18ca\u18c0"+
56639 "\u0001\u0000\u0000\u0000\u18ca\u18c2\u0001\u0000\u0000\u0000\u18ca\u18c3"+
56640 "\u0001\u0000\u0000\u0000\u18ca\u18c4\u0001\u0000\u0000\u0000\u18ca\u18c6"+
56641 "\u0001\u0000\u0000\u0000\u18cb\u035f\u0001\u0000\u0000\u0000\u18cc\u18d8"+
56642 "\u00053\u0000\u0000\u18cd\u18d8\u0005\u0133\u0000\u0000\u18ce\u18d8\u0005"+
56643 "\u00eb\u0000\u0000\u18cf\u18d0\u0005\u0135\u0000\u0000\u18d0\u18d8\u0005"+
56644 "\u0136\u0000\u0000\u18d1\u18d2\u0005J\u0000\u0000\u18d2\u18d8\u0005\u0137"+
56645 "\u0000\u0000\u18d3\u18d4\u00053\u0000\u0000\u18d4\u18d5\u0005s\u0000\u0000"+
56646 "\u18d5\u18d6\u0005\u0164\u0000\u0000\u18d6\u18d8\u0005\u0132\u0000\u0000"+
56647 "\u18d7\u18cc\u0001\u0000\u0000\u0000\u18d7\u18cd\u0001\u0000\u0000\u0000"+
56648 "\u18d7\u18ce\u0001\u0000\u0000\u0000\u18d7\u18cf\u0001\u0000\u0000\u0000"+
56649 "\u18d7\u18d1\u0001\u0000\u0000\u0000\u18d7\u18d3\u0001\u0000\u0000\u0000"+
56650 "\u18d8\u0361\u0001\u0000\u0000\u0000\u18d9\u18e1\u0005\u0133\u0000\u0000"+
56651 "\u18da\u18e1\u0005\u012d\u0000\u0000\u18db\u18e1\u0005\u00eb\u0000\u0000"+
56652 "\u18dc\u18dd\u0005\u0135\u0000\u0000\u18dd\u18e1\u0005\u0136\u0000\u0000"+
56653 "\u18de\u18df\u0005J\u0000\u0000\u18df\u18e1\u0005\u0137\u0000\u0000\u18e0"+
56654 "\u18d9\u0001\u0000\u0000\u0000\u18e0\u18da\u0001\u0000\u0000\u0000\u18e0"+
56655 "\u18db\u0001\u0000\u0000\u0000\u18e0\u18dc\u0001\u0000\u0000\u0000\u18e0"+
56656 "\u18de\u0001\u0000\u0000\u0000\u18e1\u0363\u0001\u0000\u0000\u0000\u18e2"+
56657 "\u18eb\u00053\u0000\u0000\u18e3\u18eb\u0005\u0133\u0000\u0000\u18e4\u18eb"+
56658 "\u0005\u012d\u0000\u0000\u18e5\u18eb\u0005\u00eb\u0000\u0000\u18e6\u18e7"+
56659 "\u0005\u0135\u0000\u0000\u18e7\u18eb\u0005\u0136\u0000\u0000\u18e8\u18e9"+
56660 "\u0005J\u0000\u0000\u18e9\u18eb\u0005\u0137\u0000\u0000\u18ea\u18e2\u0001"+
56661 "\u0000\u0000\u0000\u18ea\u18e3\u0001\u0000\u0000\u0000\u18ea\u18e4\u0001"+
56662 "\u0000\u0000\u0000\u18ea\u18e5\u0001\u0000\u0000\u0000\u18ea\u18e6\u0001"+
56663 "\u0000\u0000\u0000\u18ea\u18e8\u0001\u0000\u0000\u0000\u18eb\u0365\u0001"+
56664 "\u0000\u0000\u0000\u18ec\u18ed\u0007Z\u0000\u0000\u18ed\u0367\u0001\u0000"+
56665 "\u0000\u0000\u18ee\u18ef\u0005\u02b5\u0000\u0000\u18ef\u18f0\u0005\u000e"+
56666 "\u0000\u0000\u18f0\u18f1\u0005\u000e\u0000\u0000\u18f1\u0369\u0001\u0000"+
56667 "\u0000\u0000\u18f2\u191b\u0005\u0139\u0000\u0000\u18f3\u18f4\u0005\u013b"+
56668 "\u0000\u0000\u18f4\u191b\u0005C\u0000\u0000\u18f5\u18f6\u0005\u0144\u0000"+
56669 "\u0000\u18f6\u191b\u0005v\u0000\u0000\u18f7\u191b\u0005\u015b\u0000\u0000"+
56670 "\u18f8\u191b\u0005\u00ec\u0000\u0000\u18f9\u191b\u0005\u00ed\u0000\u0000"+
56671 "\u18fa\u18fb\u0005\u0138\u0000\u0000\u18fb\u191b\u0005\u00ed\u0000\u0000"+
56672 "\u18fc\u18fd\u0005\u00cc\u0000\u0000\u18fd\u18fe\u0005\u0157\u0000\u0000"+
56673 "\u18fe\u191b\u0005\u0145\u0000\u0000\u18ff\u191b\u0005\u0146\u0000\u0000"+
56674 "\u1900\u1901\u0005\u0164\u0000\u0000\u1901\u191b\u0007[\u0000\u0000\u1902"+
56675 "\u191b\u0005\u0117\u0000\u0000\u1903\u191b\u00056\u0000\u0000\u1904\u1905"+
56676 "\u0005\u0291\u0000\u0000\u1905\u1906\u0005\u0292\u0000\u0000\u1906\u191b"+
56677 "\u0005\u0293\u0000\u0000\u1907\u191b\u0005\u0111\u0000\u0000\u1908\u1909"+
56678 "\u0005\u013c\u0000\u0000\u1909\u191b\u0005\u00ed\u0000\u0000\u190a\u191b"+
56679 "\u0005\u015c\u0000\u0000\u190b\u190c\u0005\u0167\u0000\u0000\u190c\u191b"+
56680 "\u0005\u00b0\u0000\u0000\u190d\u190e\u0005\u0168\u0000\u0000\u190e\u190f"+
56681 "\u0005\u015a\u0000\u0000\u190f\u191b\u0005\u0169\u0000\u0000\u1910\u191b"+
56682 "\u0005\u016a\u0000\u0000\u1911\u191b\u0005\u015a\u0000\u0000\u1912\u1913"+
56683 "\u0005\u013a\u0000\u0000\u1913\u191b\u0005C\u0000\u0000\u1914\u191b\u0005"+
56684 ".\u0000\u0000\u1915\u191b\u0005\u012d\u0000\u0000\u1916\u191b\u0005\u00b0"+
56685 "\u0000\u0000\u1917\u1918\u0005\u014c\u0000\u0000\u1918\u1919\u00056\u0000"+
56686 "\u0000\u1919\u191b\u0005\u0171\u0000\u0000\u191a\u18f2\u0001\u0000\u0000"+
56687 "\u0000\u191a\u18f3\u0001\u0000\u0000\u0000\u191a\u18f5\u0001\u0000\u0000"+
56688 "\u0000\u191a\u18f7\u0001\u0000\u0000\u0000\u191a\u18f8\u0001\u0000\u0000"+
56689 "\u0000\u191a\u18f9\u0001\u0000\u0000\u0000\u191a\u18fa\u0001\u0000\u0000"+
56690 "\u0000\u191a\u18fc\u0001\u0000\u0000\u0000\u191a\u18ff\u0001\u0000\u0000"+
56691 "\u0000\u191a\u1900\u0001\u0000\u0000\u0000\u191a\u1902\u0001\u0000\u0000"+
56692 "\u0000\u191a\u1903\u0001\u0000\u0000\u0000\u191a\u1904\u0001\u0000\u0000"+
56693 "\u0000\u191a\u1907\u0001\u0000\u0000\u0000\u191a\u1908\u0001\u0000\u0000"+
56694 "\u0000\u191a\u190a\u0001\u0000\u0000\u0000\u191a\u190b\u0001\u0000\u0000"+
56695 "\u0000\u191a\u190d\u0001\u0000\u0000\u0000\u191a\u1910\u0001\u0000\u0000"+
56696 "\u0000\u191a\u1911\u0001\u0000\u0000\u0000\u191a\u1912\u0001\u0000\u0000"+
56697 "\u0000\u191a\u1914\u0001\u0000\u0000\u0000\u191a\u1915\u0001\u0000\u0000"+
56698 "\u0000\u191a\u1916\u0001\u0000\u0000\u0000\u191a\u1917\u0001\u0000\u0000"+
56699 "\u0000\u191b\u036b\u0001\u0000\u0000\u0000\u191c\u191d\u0007\\\u0000\u0000"+
56700 "\u191d\u036d\u0001\u0000\u0000\u0000\u191e\u191f\u0003\u00ccf\u0000\u191f"+
56701 "\u036f\u0001\u0000\u0000\u0000\u1920\u1926\u0005\u0287\u0000\u0000\u1921"+
56702 "\u1924\u0003\u001c\u000e\u0000\u1922\u1923\u0005M\u0000\u0000\u1923\u1925"+
56703 "\u0005\u0288\u0000\u0000\u1924\u1922\u0001\u0000\u0000\u0000\u1924\u1925"+
56704 "\u0001\u0000\u0000\u0000\u1925\u1927\u0001\u0000\u0000\u0000\u1926\u1921"+
56705 "\u0001\u0000\u0000\u0000\u1926\u1927\u0001\u0000\u0000\u0000\u1927\u0371"+
56706 "\u0001\u0000\u0000\u0000\u1928\u1929\u00052\u0000\u0000\u1929\u1932\u0005"+
56707 "\u00ec\u0000\u0000\u192a\u1933\u0003\u0374\u01ba\u0000\u192b\u1933\u0003"+
56708 "\u0376\u01bb\u0000\u192c\u1933\u0003\u0378\u01bc\u0000\u192d\u1933\u0003"+
56709 "\u037a\u01bd\u0000\u192e\u1933\u0003\u0380\u01c0\u0000\u192f\u1933\u0003"+
56710 "\u0382\u01c1\u0000\u1930\u1933\u0003\u0384\u01c2\u0000\u1931\u1933\u0003"+
56711 "\u038a\u01c5\u0000\u1932\u192a\u0001\u0000\u0000\u0000\u1932\u192b\u0001"+
56712 "\u0000\u0000\u0000\u1932\u192c\u0001\u0000\u0000\u0000\u1932\u192d\u0001"+
56713 "\u0000\u0000\u0000\u1932\u192e\u0001\u0000\u0000\u0000\u1932\u192f\u0001"+
56714 "\u0000\u0000\u0000\u1932\u1930\u0001\u0000\u0000\u0000\u1932\u1931\u0001"+
56715 "\u0000\u0000\u0000\u1932\u1933\u0001\u0000\u0000\u0000\u1933\u0373\u0001"+
56716 "\u0000\u0000\u0000\u1934\u1938\u0003\u038a\u01c5\u0000\u1935\u1936\u0007"+
56717 "]\u0000\u0000\u1936\u1937\u0005\u0111\u0000\u0000\u1937\u1939\u0003*\u0015"+
56718 "\u0000\u1938\u1935\u0001\u0000\u0000\u0000\u1938\u1939\u0001\u0000\u0000"+
56719 "\u0000\u1939\u1943\u0001\u0000\u0000\u0000\u193a\u193b\u0005M\u0000\u0000"+
56720 "\u193b\u1940\u0003\u037e\u01bf\u0000\u193c\u193d\u0005%\u0000\u0000\u193d"+
56721 "\u193f\u0003\u037e\u01bf\u0000\u193e\u193c\u0001\u0000\u0000\u0000\u193f"+
56722 "\u1942\u0001\u0000\u0000\u0000\u1940\u193e\u0001\u0000\u0000\u0000\u1940"+
56723 "\u1941\u0001\u0000\u0000\u0000\u1941\u1944\u0001\u0000\u0000\u0000\u1942"+
56724 "\u1940\u0001\u0000\u0000\u0000\u1943\u193a\u0001\u0000\u0000\u0000\u1943"+
56725 "\u1944\u0001\u0000\u0000\u0000\u1944\u0375\u0001\u0000\u0000\u0000\u1945"+
56726 "\u194f\u0003\u0386\u01c3\u0000\u1946\u1947\u0005M\u0000\u0000\u1947\u194c"+
56727 "\u0003\u037c\u01be\u0000\u1948\u1949\u0005%\u0000\u0000\u1949\u194b\u0003"+
56728 "\u037c\u01be\u0000\u194a\u1948\u0001\u0000\u0000\u0000\u194b\u194e\u0001"+
56729 "\u0000\u0000\u0000\u194c\u194a\u0001\u0000\u0000\u0000\u194c\u194d\u0001"+
56730 "\u0000\u0000\u0000\u194d\u1950\u0001\u0000\u0000\u0000\u194e\u194c\u0001"+
56731 "\u0000\u0000\u0000\u194f\u1946\u0001\u0000\u0000\u0000\u194f\u1950\u0001"+
56732 "\u0000\u0000\u0000\u1950\u1967\u0001\u0000\u0000\u0000\u1951\u1952\u0003"+
56733 "\u038a\u01c5\u0000\u1952\u1953\u0005M\u0000\u0000\u1953\u1954\u0005\u00d5"+
56734 "\u0000\u0000\u1954\u1955\u0005\u0018\u0000\u0000\u1955\u195f\u0003\u001c"+
56735 "\u000e\u0000\u1956\u1957\u0005%\u0000\u0000\u1957\u195c\u0003\u037c\u01be"+
56736 "\u0000\u1958\u1959\u0005%\u0000\u0000\u1959\u195b\u0003\u037c\u01be\u0000"+
56737 "\u195a\u1958\u0001\u0000\u0000\u0000\u195b\u195e\u0001\u0000\u0000\u0000"+
56738 "\u195c\u195a\u0001\u0000\u0000\u0000\u195c\u195d\u0001\u0000\u0000\u0000"+
56739 "\u195d\u1960\u0001\u0000\u0000\u0000\u195e\u195c\u0001\u0000\u0000\u0000"+
56740 "\u195f\u1956\u0001\u0000\u0000\u0000\u195f\u1960\u0001\u0000\u0000\u0000"+
56741 "\u1960\u1967\u0001\u0000\u0000\u0000\u1961\u1962\u0003\u0388\u01c4\u0000"+
56742 "\u1962\u1963\u0005U\u0000\u0000\u1963\u1964\u0005\u0150\u0000\u0000\u1964"+
56743 "\u1965\u0005\u028c\u0000\u0000\u1965\u1967\u0001\u0000\u0000\u0000\u1966"+
56744 "\u1945\u0001\u0000\u0000\u0000\u1966\u1951\u0001\u0000\u0000\u0000\u1966"+
56745 "\u1961\u0001\u0000\u0000\u0000\u1967\u0377\u0001\u0000\u0000\u0000\u1968"+
56746 "\u196c\u0003\u0386\u01c3\u0000\u1969\u196a\u0007]\u0000\u0000\u196a\u196b"+
56747 "\u0005\u0111\u0000\u0000\u196b\u196d\u0003\u0386\u01c3\u0000\u196c\u1969"+
56748 "\u0001\u0000\u0000\u0000\u196c\u196d\u0001\u0000\u0000\u0000\u196d\u1974"+
56749 "\u0001\u0000\u0000\u0000\u196e\u196f\u0003\u038a\u01c5\u0000\u196f\u1970"+
56750 "\u0007]\u0000\u0000\u1970\u1971\u0005\u0111\u0000\u0000\u1971\u1972\u0003"+
56751 "\u0386\u01c3\u0000\u1972\u1974\u0001\u0000\u0000\u0000\u1973\u1968\u0001"+
56752 "\u0000\u0000\u0000\u1973\u196e\u0001\u0000\u0000\u0000\u1974\u197e\u0001"+
56753 "\u0000\u0000\u0000\u1975\u1976\u0005M\u0000\u0000\u1976\u197b\u0003\u037e"+
56754 "\u01bf\u0000\u1977\u1978\u0005%\u0000\u0000\u1978\u197a\u0003\u037e\u01bf"+
56755 "\u0000\u1979\u1977\u0001\u0000\u0000\u0000\u197a\u197d\u0001\u0000\u0000"+
56756 "\u0000\u197b\u1979\u0001\u0000\u0000\u0000\u197b\u197c\u0001\u0000\u0000"+
56757 "\u0000\u197c\u197f\u0001\u0000\u0000\u0000\u197d\u197b\u0001\u0000\u0000"+
56758 "\u0000\u197e\u1975\u0001\u0000\u0000\u0000\u197e\u197f\u0001\u0000\u0000"+
56759 "\u0000\u197f\u0379\u0001\u0000\u0000\u0000\u1980\u1995\u0003\u038a\u01c5"+
56760 "\u0000\u1981\u1982\u0005\u00d6\u0000\u0000\u1982\u198c\u0005\u0111\u0000"+
56761 "\u0000\u1983\u1984\u0005M\u0000\u0000\u1984\u1989\u0003\u037e\u01bf\u0000"+
56762 "\u1985\u1986\u0005%\u0000\u0000\u1986\u1988\u0003\u037e\u01bf\u0000\u1987"+
56763 "\u1985\u0001\u0000\u0000\u0000\u1988\u198b\u0001\u0000\u0000\u0000\u1989"+
56764 "\u1987\u0001\u0000\u0000\u0000\u1989\u198a\u0001\u0000\u0000\u0000\u198a"+
56765 "\u198d\u0001\u0000\u0000\u0000\u198b\u1989\u0001\u0000\u0000\u0000\u198c"+
56766 "\u1983\u0001\u0000\u0000\u0000\u198c\u198d\u0001\u0000\u0000\u0000\u198d"+
56767 "\u1996\u0001\u0000\u0000\u0000\u198e\u198f\u0007]\u0000\u0000\u198f\u1990"+
56768 "\u0005\u015b\u0000\u0000\u1990\u1996\u0003*\u0015\u0000\u1991\u1992\u0007"+
56769 "]\u0000\u0000\u1992\u1993\u0005\u013b\u0000\u0000\u1993\u1994\u0005C\u0000"+
56770 "\u0000\u1994\u1996\u0003*\u0015\u0000\u1995\u1981\u0001\u0000\u0000\u0000"+
56771 "\u1995\u198e\u0001\u0000\u0000\u0000\u1995\u1991\u0001\u0000\u0000\u0000"+
56772 "\u1996\u037b\u0001\u0000\u0000\u0000\u1997\u1998\u0005\u0289\u0000\u0000"+
56773 "\u1998\u1999\u0005\u0018\u0000\u0000\u1999\u19a9\u00034\u001a\u0000\u199a"+
56774 "\u199b\u0005\u0279\u0000\u0000\u199b\u199e\u0005\u0018\u0000\u0000\u199c"+
56775 "\u199f\u0005\u0116\u0000\u0000\u199d\u199f\u0003*\u0015\u0000\u199e\u199c"+
56776 "\u0001\u0000\u0000\u0000\u199e\u199d\u0001\u0000\u0000\u0000\u199f\u19a9"+
56777 "\u0001\u0000\u0000\u0000\u19a0\u19a1\u0005\u028d\u0000\u0000\u19a1\u19a2"+
56778 "\u0005\u0018\u0000\u0000\u19a2\u19a9\u0003\u03a4\u01d2\u0000\u19a3\u19a4"+
56779 "\u0005\u028a\u0000\u0000\u19a4\u19a6\u0005\u0018\u0000\u0000\u19a5\u19a7"+
56780 "\u0007\u0000\u0000\u0000\u19a6\u19a5\u0001\u0000\u0000\u0000\u19a6\u19a7"+
56781 "\u0001\u0000\u0000\u0000\u19a7\u19a9\u0001\u0000\u0000\u0000\u19a8\u1997"+
56782 "\u0001\u0000\u0000\u0000\u19a8\u199a\u0001\u0000\u0000\u0000\u19a8\u19a0"+
56783 "\u0001\u0000\u0000\u0000\u19a8\u19a3\u0001\u0000\u0000\u0000\u19a9\u037d"+
56784 "\u0001\u0000\u0000\u0000\u19aa\u19ab\u0005\u0289\u0000\u0000\u19ab\u19ac"+
56785 "\u0005\u0018\u0000\u0000\u19ac\u19b9\u00034\u001a\u0000\u19ad\u19ae\u0005"+
56786 "\u0279\u0000\u0000\u19ae\u19b1\u0005\u0018\u0000\u0000\u19af\u19b2\u0005"+
56787 "\u0116\u0000\u0000\u19b0\u19b2\u0003*\u0015\u0000\u19b1\u19af\u0001\u0000"+
56788 "\u0000\u0000\u19b1\u19b0\u0001\u0000\u0000\u0000\u19b2\u19b9\u0001\u0000"+
56789 "\u0000\u0000\u19b3\u19b4\u0005\u028a\u0000\u0000\u19b4\u19b6\u0005\u0018"+
56790 "\u0000\u0000\u19b5\u19b7\u0007\u0000\u0000\u0000\u19b6\u19b5\u0001\u0000"+
56791 "\u0000\u0000\u19b6\u19b7\u0001\u0000\u0000\u0000\u19b7\u19b9\u0001\u0000"+
56792 "\u0000\u0000\u19b8\u19aa\u0001\u0000\u0000\u0000\u19b8\u19ad\u0001\u0000"+
56793 "\u0000\u0000\u19b8\u19b3\u0001\u0000\u0000\u0000\u19b9\u037f\u0001\u0000"+
56794 "\u0000\u0000\u19ba\u19be\u0003\u038a\u01c5\u0000\u19bb\u19bc\u0007]\u0000"+
56795 "\u0000\u19bc\u19bd\u0005\u0111\u0000\u0000\u19bd\u19bf\u0003*\u0015\u0000"+
56796 "\u19be\u19bb\u0001\u0000\u0000\u0000\u19be\u19bf\u0001\u0000\u0000\u0000"+
56797 "\u19bf\u19cf\u0001\u0000\u0000\u0000\u19c0\u19c1\u0005U\u0000\u0000\u19c1"+
56798 "\u19c2\u0005\u0150\u0000\u0000\u19c2\u19cc\u0005\u028c\u0000\u0000\u19c3"+
56799 "\u19c4\u0005M\u0000\u0000\u19c4\u19c9\u0003\u037e\u01bf\u0000\u19c5\u19c6"+
56800 "\u0005%\u0000\u0000\u19c6\u19c8\u0003\u037e\u01bf\u0000\u19c7\u19c5\u0001"+
56801 "\u0000\u0000\u0000\u19c8\u19cb\u0001\u0000\u0000\u0000\u19c9\u19c7\u0001"+
56802 "\u0000\u0000\u0000\u19c9\u19ca\u0001\u0000\u0000\u0000\u19ca\u19cd\u0001"+
56803 "\u0000\u0000\u0000\u19cb\u19c9\u0001\u0000\u0000\u0000\u19cc\u19c3\u0001"+
56804 "\u0000\u0000\u0000\u19cc\u19cd\u0001\u0000\u0000\u0000\u19cd\u19cf\u0001"+
56805 "\u0000\u0000\u0000\u19ce\u19ba\u0001\u0000\u0000\u0000\u19ce\u19c0\u0001"+
56806 "\u0000\u0000\u0000\u19cf\u0381\u0001\u0000\u0000\u0000\u19d0\u19d6\u0003"+
56807 "\u038a\u01c5\u0000\u19d1\u19d2\u0007]\u0000\u0000\u19d2\u19d3\u0005\u0111"+
56808 "\u0000\u0000\u19d3\u19d7\u0003*\u0015\u0000\u19d4\u19d5\u0005\u00d6\u0000"+
56809 "\u0000\u19d5\u19d7\u0005\u0111\u0000\u0000\u19d6\u19d1\u0001\u0000\u0000"+
56810 "\u0000\u19d6\u19d4\u0001\u0000\u0000\u0000\u19d6\u19d7\u0001\u0000\u0000"+
56811 "\u0000\u19d7\u19dc\u0001\u0000\u0000\u0000\u19d8\u19d9\u0005M\u0000\u0000"+
56812 "\u19d9\u19da\u0005\u0289\u0000\u0000\u19da\u19db\u0005\u0018\u0000\u0000"+
56813 "\u19db\u19dd\u00034\u001a\u0000\u19dc\u19d8\u0001\u0000\u0000\u0000\u19dc"+
56814 "\u19dd\u0001\u0000\u0000\u0000\u19dd\u0383\u0001\u0000\u0000\u0000\u19de"+
56815 "\u19df\u0003\u0388\u01c4\u0000\u19df\u19e0\u0005U\u0000\u0000\u19e0\u19e1"+
56816 "\u0005\u0150\u0000\u0000\u19e1\u19e6\u0005\u028c\u0000\u0000\u19e2\u19e3"+
56817 "\u0005M\u0000\u0000\u19e3\u19e4\u0005\u0289\u0000\u0000\u19e4\u19e5\u0005"+
56818 "\u0018\u0000\u0000\u19e5\u19e7\u00034\u001a\u0000\u19e6\u19e2\u0001\u0000"+
56819 "\u0000\u0000\u19e6\u19e7\u0001\u0000\u0000\u0000\u19e7\u0385\u0001\u0000"+
56820 "\u0000\u0000\u19e8\u19e9\u0003\u038a\u01c5\u0000\u19e9\u0387\u0001\u0000"+
56821 "\u0000\u0000\u19ea\u19eb\u0003\u038a\u01c5\u0000\u19eb\u0389\u0001\u0000"+
56822 "\u0000\u0000\u19ec\u19ed\u0003\u038c\u01c6\u0000\u19ed\u038b\u0001\u0000"+
56823 "\u0000\u0000\u19ee\u19f1\u0003*\u0015\u0000\u19ef\u19f0\u0005\u0014\u0000"+
56824 "\u0000\u19f0\u19f2\u0003*\u0015\u0000\u19f1\u19ef\u0001\u0000\u0000\u0000"+
56825 "\u19f1\u19f2\u0001\u0000\u0000\u0000\u19f2\u038d\u0001\u0000\u0000\u0000"+
56826 "\u19f3\u19f4\u00054\u0000\u0000\u19f4\u19f6\u0005\u00ec\u0000\u0000\u19f5"+
56827 "\u19f7\u0003\u00deo\u0000\u19f6\u19f5\u0001\u0000\u0000\u0000\u19f6\u19f7"+
56828 "\u0001\u0000\u0000\u0000\u19f7\u19f8\u0001\u0000\u0000\u0000\u19f8\u19f9"+
56829 "\u0003\u038a\u01c5\u0000\u19f9\u038f\u0001\u0000\u0000\u0000\u19fa\u19fb"+
56830 "\u00053\u0000\u0000\u19fb\u19fc\u0005\u00ec\u0000\u0000\u19fc\u1a09\u0003"+
56831 "\u038a\u01c5\u0000\u19fd\u19fe\u0005M\u0000\u0000\u19fe\u1a03\u0003\u0392"+
56832 "\u01c9\u0000\u19ff\u1a00\u0005%\u0000\u0000\u1a00\u1a02\u0003\u0392\u01c9"+
56833 "\u0000\u1a01\u19ff\u0001\u0000\u0000\u0000\u1a02\u1a05\u0001\u0000\u0000"+
56834 "\u0000\u1a03\u1a01\u0001\u0000\u0000\u0000\u1a03\u1a04\u0001\u0000\u0000"+
56835 "\u0000\u1a04\u1a0a\u0001\u0000\u0000\u0000\u1a05\u1a03\u0001\u0000\u0000"+
56836 "\u0000\u1a06\u1a07\u0005U\u0000\u0000\u1a07\u1a08\u0005\u0150\u0000\u0000"+
56837 "\u1a08\u1a0a\u0005\u028c\u0000\u0000\u1a09\u19fd\u0001\u0000\u0000\u0000"+
56838 "\u1a09\u1a06\u0001\u0000\u0000\u0000\u1a0a\u0391\u0001\u0000\u0000\u0000"+
56839 "\u1a0b\u1a0c\u0005\u00aa\u0000\u0000\u1a0c\u1a0d\u0005\u0018\u0000\u0000"+
56840 "\u1a0d\u1a2b\u0003\u038a\u01c5\u0000\u1a0e\u1a0f\u0005\u0289\u0000\u0000"+
56841 "\u1a0f\u1a12\u0005\u0018\u0000\u0000\u1a10\u1a13\u00034\u001a\u0000\u1a11"+
56842 "\u1a13\u0005l\u0000\u0000\u1a12\u1a10\u0001\u0000\u0000\u0000\u1a12\u1a11"+
56843 "\u0001\u0000\u0000\u0000\u1a13\u1a2b\u0001\u0000\u0000\u0000\u1a14\u1a15"+
56844 "\u0005\u0111\u0000\u0000\u1a15\u1a16\u0005\u0018\u0000\u0000\u1a16\u1a2b"+
56845 "\u0003*\u0015\u0000\u1a17\u1a18\u0005\u00d5\u0000\u0000\u1a18\u1a19\u0005"+
56846 "\u0018\u0000\u0000\u1a19\u1a1d\u0003\u001c\u000e\u0000\u1a1a\u1a1b\u0005"+
56847 "\u028b\u0000\u0000\u1a1b\u1a1c\u0005\u0018\u0000\u0000\u1a1c\u1a1e\u0003"+
56848 "\u001c\u000e\u0000\u1a1d\u1a1a\u0001\u0000\u0000\u0000\u1a1d\u1a1e\u0001"+
56849 "\u0000\u0000\u0000\u1a1e\u1a2b\u0001\u0000\u0000\u0000\u1a1f\u1a20\u0005"+
56850 "\u0279\u0000\u0000\u1a20\u1a23\u0005\u0018\u0000\u0000\u1a21\u1a24\u0005"+
56851 "\u0116\u0000\u0000\u1a22\u1a24\u0003*\u0015\u0000\u1a23\u1a21\u0001\u0000"+
56852 "\u0000\u0000\u1a23\u1a22\u0001\u0000\u0000\u0000\u1a24\u1a2b\u0001\u0000"+
56853 "\u0000\u0000\u1a25\u1a26\u0005\u028a\u0000\u0000\u1a26\u1a28\u0005\u0018"+
56854 "\u0000\u0000\u1a27\u1a29\u0007\u0000\u0000\u0000\u1a28\u1a27\u0001\u0000"+
56855 "\u0000\u0000\u1a28\u1a29\u0001\u0000\u0000\u0000\u1a29\u1a2b\u0001\u0000"+
56856 "\u0000\u0000\u1a2a\u1a0b\u0001\u0000\u0000\u0000\u1a2a\u1a0e\u0001\u0000"+
56857 "\u0000\u0000\u1a2a\u1a14\u0001\u0000\u0000\u0000\u1a2a\u1a17\u0001\u0000"+
56858 "\u0000\u0000\u1a2a\u1a1f\u0001\u0000\u0000\u0000\u1a2a\u1a25\u0001\u0000"+
56859 "\u0000\u0000\u1a2b\u0393\u0001\u0000\u0000\u0000\u1a2c\u1a2d\u00052\u0000"+
56860 "\u0000\u1a2d\u1a2e\u0005\u00ed\u0000\u0000\u1a2e\u1a31\u0003N\'\u0000"+
56861 "\u1a2f\u1a30\u0005\u0282\u0000\u0000\u1a30\u1a32\u0003N\'\u0000\u1a31"+
56862 "\u1a2f\u0001\u0000\u0000\u0000\u1a31\u1a32\u0001\u0000\u0000\u0000\u1a32"+
56863 "\u0395\u0001\u0000\u0000\u0000\u1a33\u1a34\u00054\u0000\u0000\u1a34\u1a36"+
56864 "\u0005\u00ed\u0000\u0000\u1a35\u1a37\u0003\u00deo\u0000\u1a36\u1a35\u0001"+
56865 "\u0000\u0000\u0000\u1a36\u1a37\u0001\u0000\u0000\u0000\u1a37\u1a38\u0001"+
56866 "\u0000\u0000\u0000\u1a38\u1a39\u0003N\'\u0000\u1a39\u0397\u0001\u0000"+
56867 "\u0000\u0000\u1a3a\u1a3b\u00053\u0000\u0000\u1a3b\u1a3c\u0005\u00ed\u0000"+
56868 "\u0000\u1a3c\u1a47\u0003N\'\u0000\u1a3d\u1a3e\u00059\u0000\u0000\u1a3e"+
56869 "\u1a3f\u0005\u0295\u0000\u0000\u1a3f\u1a48\u0003\u031c\u018e\u0000\u1a40"+
56870 "\u1a41\u00054\u0000\u0000\u1a41\u1a42\u0005\u0295\u0000\u0000\u1a42\u1a48"+
56871 "\u0003\u031c\u018e\u0000\u1a43\u1a44\u0005M\u0000\u0000\u1a44\u1a45\u0005"+
56872 "\u00aa\u0000\u0000\u1a45\u1a46\u0005\u0018\u0000\u0000\u1a46\u1a48\u0003"+
56873 "N\'\u0000\u1a47\u1a3d\u0001\u0000\u0000\u0000\u1a47\u1a40\u0001\u0000"+
56874 "\u0000\u0000\u1a47\u1a43\u0001\u0000\u0000\u0000\u1a48\u0399\u0001\u0000"+
56875 "\u0000\u0000\u1a49\u1a4a\u00052\u0000\u0000\u1a4a\u1a4b\u0005\u0111\u0000"+
56876 "\u0000\u1a4b\u1a51\u0003\u038c\u01c6\u0000\u1a4c\u1a52\u0003\u039c\u01ce"+
56877 "\u0000\u1a4d\u1a52\u0003\u03aa\u01d5\u0000\u1a4e\u1a52\u0003\u03ae\u01d7"+
56878 "\u0000\u1a4f\u1a52\u0003\u03b2\u01d9\u0000\u1a50\u1a52\u0003\u03b6\u01db"+
56879 "\u0000\u1a51\u1a4c\u0001\u0000\u0000\u0000\u1a51\u1a4d\u0001\u0000\u0000"+
56880 "\u0000\u1a51\u1a4e\u0001\u0000\u0000\u0000\u1a51\u1a4f\u0001\u0000\u0000"+
56881 "\u0000\u1a51\u1a50\u0001\u0000\u0000\u0000\u1a52\u039b\u0001\u0000\u0000"+
56882 "\u0000\u1a53\u1a54\u0005M\u0000\u0000\u1a54\u1a58\u0003\u039e\u01cf\u0000"+
56883 "\u1a55\u1a56\u0005U\u0000\u0000\u1a56\u1a58\u0003\u03a6\u01d3\u0000\u1a57"+
56884 "\u1a53\u0001\u0000\u0000\u0000\u1a57\u1a55\u0001\u0000\u0000\u0000\u1a58"+
56885 "\u039d\u0001\u0000\u0000\u0000\u1a59\u1a5a\u0005\u00d5\u0000\u0000\u1a5a"+
56886 "\u1a5f\u0005\u0018\u0000\u0000\u1a5b\u1a60\u0003\u001c\u000e\u0000\u1a5c"+
56887 "\u1a5d\u0003\u03a2\u01d1\u0000\u1a5d\u1a5e\u0005\u0296\u0000\u0000\u1a5e"+
56888 "\u1a60\u0001\u0000\u0000\u0000\u1a5f\u1a5b\u0001\u0000\u0000\u0000\u1a5f"+
56889 "\u1a5c\u0001\u0000\u0000\u0000\u1a60\u1a62\u0001\u0000\u0000\u0000\u1a61"+
56890 "\u1a63\u0005\u0297\u0000\u0000\u1a62\u1a61\u0001\u0000\u0000\u0000\u1a62"+
56891 "\u1a63\u0001\u0000\u0000\u0000\u1a63\u1a6d\u0001\u0000\u0000\u0000\u1a64"+
56892 "\u1a65\u0005%\u0000\u0000\u1a65\u1a6a\u0003\u03a0\u01d0\u0000\u1a66\u1a67"+
56893 "\u0005%\u0000\u0000\u1a67\u1a69\u0003\u03a0\u01d0\u0000\u1a68\u1a66\u0001"+
56894 "\u0000\u0000\u0000\u1a69\u1a6c\u0001\u0000\u0000\u0000\u1a6a\u1a68\u0001"+
56895 "\u0000\u0000\u0000\u1a6a\u1a6b\u0001\u0000\u0000\u0000\u1a6b\u1a6e\u0001"+
56896 "\u0000\u0000\u0000\u1a6c\u1a6a\u0001\u0000\u0000\u0000\u1a6d\u1a64\u0001"+
56897 "\u0000\u0000\u0000\u1a6d\u1a6e\u0001\u0000\u0000\u0000\u1a6e\u039f\u0001"+
56898 "\u0000\u0000\u0000\u1a6f\u1a70\u0005\u028d\u0000\u0000\u1a70\u1a71\u0005"+
56899 "\u0018\u0000\u0000\u1a71\u1a82\u0003\u03a4\u01d2\u0000\u1a72\u1a73\u0005"+
56900 "\u0298\u0000\u0000\u1a73\u1a74\u0005\u0018\u0000\u0000\u1a74\u1a82\u0003"+
56901 "2\u0019\u0000\u1a75\u1a76\u0005\u0279\u0000\u0000\u1a76\u1a77\u0005\u0018"+
56902 "\u0000\u0000\u1a77\u1a82\u0003*\u0015\u0000\u1a78\u1a79\u0005\u0299\u0000"+
56903 "\u0000\u1a79\u1a7a\u0005\u0018\u0000\u0000\u1a7a\u1a82\u0007\u0000\u0000"+
56904 "\u0000\u1a7b\u1a7c\u0005\u029a\u0000\u0000\u1a7c\u1a7d\u0005\u0018\u0000"+
56905 "\u0000\u1a7d\u1a82\u0007\u0000\u0000\u0000\u1a7e\u1a7f\u0005\u0145\u0000"+
56906 "\u0000\u1a7f\u1a80\u0005\u0018\u0000\u0000\u1a80\u1a82\u0003*\u0015\u0000"+
56907 "\u1a81\u1a6f\u0001\u0000\u0000\u0000\u1a81\u1a72\u0001\u0000\u0000\u0000"+
56908 "\u1a81\u1a75\u0001\u0000\u0000\u0000\u1a81\u1a78\u0001\u0000\u0000\u0000"+
56909 "\u1a81\u1a7b\u0001\u0000\u0000\u0000\u1a81\u1a7e\u0001\u0000\u0000\u0000"+
56910 "\u1a82\u03a1\u0001\u0000\u0000\u0000\u1a83\u1a84\u0005\u02bc\u0000\u0000"+
56911 "\u1a84\u03a3\u0001\u0000\u0000\u0000\u1a85\u1a86\u0007^\u0000\u0000\u1a86"+
56912 "\u03a5\u0001\u0000\u0000\u0000\u1a87\u1a91\u0005\u029b\u0000\u0000\u1a88"+
56913 "\u1a89\u0005M\u0000\u0000\u1a89\u1a8e\u0003\u03a8\u01d4\u0000\u1a8a\u1a8b"+
56914 "\u0005%\u0000\u0000\u1a8b\u1a8d\u0003\u03a8\u01d4\u0000\u1a8c\u1a8a\u0001"+
56915 "\u0000\u0000\u0000\u1a8d\u1a90\u0001\u0000\u0000\u0000\u1a8e\u1a8c\u0001"+
56916 "\u0000\u0000\u0000\u1a8e\u1a8f\u0001\u0000\u0000\u0000\u1a8f\u1a92\u0001"+
56917 "\u0000\u0000\u0000\u1a90\u1a8e\u0001\u0000\u0000\u0000\u1a91\u1a88\u0001"+
56918 "\u0000\u0000\u0000\u1a91\u1a92\u0001\u0000\u0000\u0000\u1a92\u1a99\u0001"+
56919 "\u0000\u0000\u0000\u1a93\u1a94\u0005\u015b\u0000\u0000\u1a94\u1a99\u0003"+
56920 "*\u0015\u0000\u1a95\u1a96\u0005\u013b\u0000\u0000\u1a96\u1a97\u0005C\u0000"+
56921 "\u0000\u1a97\u1a99\u0003*\u0015\u0000\u1a98\u1a87\u0001\u0000\u0000\u0000"+
56922 "\u1a98\u1a93\u0001\u0000\u0000\u0000\u1a98\u1a95\u0001\u0000\u0000\u0000"+
56923 "\u1a99\u03a7\u0001\u0000\u0000\u0000\u1a9a\u1a9b\u0005\u0298\u0000\u0000"+
56924 "\u1a9b\u1a9c\u0005\u0018\u0000\u0000\u1a9c\u1aa1\u00032\u0019\u0000\u1a9d"+
56925 "\u1a9e\u0005\u0279\u0000\u0000\u1a9e\u1a9f\u0005\u0018\u0000\u0000\u1a9f"+
56926 "\u1aa1\u0003*\u0015\u0000\u1aa0\u1a9a\u0001\u0000\u0000\u0000\u1aa0\u1a9d"+
56927 "\u0001\u0000\u0000\u0000\u1aa1\u03a9\u0001\u0000\u0000\u0000\u1aa2\u1aa3"+
56928 "\u0005U\u0000\u0000\u1aa3\u1aa4\u0005\u0150\u0000\u0000\u1aa4\u1aaf\u0005"+
56929 "\u028c\u0000\u0000\u1aa5\u1aa6\u0005M\u0000\u0000\u1aa6\u1aab\u0003\u03ac"+
56930 "\u01d6\u0000\u1aa7\u1aa8\u0005%\u0000\u0000\u1aa8\u1aaa\u0003\u03ac\u01d6"+
56931 "\u0000\u1aa9\u1aa7\u0001\u0000\u0000\u0000\u1aaa\u1aad\u0001\u0000\u0000"+
56932 "\u0000\u1aab\u1aa9\u0001\u0000\u0000\u0000\u1aab\u1aac\u0001\u0000\u0000"+
56933 "\u0000\u1aac\u1aaf\u0001\u0000\u0000\u0000\u1aad\u1aab\u0001\u0000\u0000"+
56934 "\u0000\u1aae\u1aa2\u0001\u0000\u0000\u0000\u1aae\u1aa5\u0001\u0000\u0000"+
56935 "\u0000\u1aaf\u03ab\u0001\u0000\u0000\u0000\u1ab0\u1ab1\u0005\u00d5\u0000"+
56936 "\u0000\u1ab1\u1ab2\u0005\u0018\u0000\u0000\u1ab2\u1ab7\u0003\u001c\u000e"+
56937 "\u0000\u1ab3\u1ab4\u0005%\u0000\u0000\u1ab4\u1ab5\u0005\u028d\u0000\u0000"+
56938 "\u1ab5\u1ab6\u0005\u0018\u0000\u0000\u1ab6\u1ab8\u0003\u03a4\u01d2\u0000"+
56939 "\u1ab7\u1ab3\u0001\u0000\u0000\u0000\u1ab7\u1ab8\u0001\u0000\u0000\u0000"+
56940 "\u1ab8\u03ad\u0001\u0000\u0000\u0000\u1ab9\u1aba\u0005U\u0000\u0000\u1aba"+
56941 "\u1abb\u0005\u0150\u0000\u0000\u1abb\u1abd\u0005\u028c\u0000\u0000\u1abc"+
56942 "\u1ab9\u0001\u0000\u0000\u0000\u1abc\u1abd\u0001\u0000\u0000\u0000\u1abd"+
56943 "\u1abe\u0001\u0000\u0000\u0000\u1abe\u1abf\u0005M\u0000\u0000\u1abf\u1ac4"+
56944 "\u0003\u03b0\u01d8\u0000\u1ac0\u1ac1\u0005%\u0000\u0000\u1ac1\u1ac3\u0003"+
56945 "\u03b0\u01d8\u0000\u1ac2\u1ac0\u0001\u0000\u0000\u0000\u1ac3\u1ac6\u0001"+
56946 "\u0000\u0000\u0000\u1ac4\u1ac2\u0001\u0000\u0000\u0000\u1ac4\u1ac5\u0001"+
56947 "\u0000\u0000\u0000\u1ac5\u03af\u0001\u0000\u0000\u0000\u1ac6\u1ac4\u0001"+
56948 "\u0000\u0000\u0000\u1ac7\u1ac8\u0005\u00d5\u0000\u0000\u1ac8\u1ac9\u0005"+
56949 "\u0018\u0000\u0000\u1ac9\u1ad4\u0003\u001c\u000e\u0000\u1aca\u1acb\u0005"+
56950 "\u028d\u0000\u0000\u1acb\u1acc\u0005\u0018\u0000\u0000\u1acc\u1ad4\u0003"+
56951 "\u03a4\u01d2\u0000\u1acd\u1ace\u0005\u0298\u0000\u0000\u1ace\u1acf\u0005"+
56952 "\u0018\u0000\u0000\u1acf\u1ad4\u00032\u0019\u0000\u1ad0\u1ad1\u0005\u0279"+
56953 "\u0000\u0000\u1ad1\u1ad2\u0005\u0018\u0000\u0000\u1ad2\u1ad4\u0003*\u0015"+
56954 "\u0000\u1ad3\u1ac7\u0001\u0000\u0000\u0000\u1ad3\u1aca\u0001\u0000\u0000"+
56955 "\u0000\u1ad3\u1acd\u0001\u0000\u0000\u0000\u1ad3\u1ad0\u0001\u0000\u0000"+
56956 "\u0000\u1ad4\u03b1\u0001\u0000\u0000\u0000\u1ad5\u1ad6\u0005M\u0000\u0000"+
56957 "\u1ad6\u1ad7\u0003\u03b4\u01da\u0000\u1ad7\u03b3\u0001\u0000\u0000\u0000"+
56958 "\u1ad8\u1ad9\u0005\u00d5\u0000\u0000\u1ad9\u1ada\u0005\u0018\u0000\u0000"+
56959 "\u1ada\u1adf\u0003\u001c\u000e\u0000\u1adb\u1adc\u0005%\u0000\u0000\u1adc"+
56960 "\u1add\u0005\u028d\u0000\u0000\u1add\u1ade\u0005\u0018\u0000\u0000\u1ade"+
56961 "\u1ae0\u0003\u03a4\u01d2\u0000\u1adf\u1adb\u0001\u0000\u0000\u0000\u1adf"+
56962 "\u1ae0\u0001\u0000\u0000\u0000\u1ae0\u03b5\u0001\u0000\u0000\u0000\u1ae1"+
56963 "\u1ae2\u0005M\u0000\u0000\u1ae2\u1ae6\u0003\u03b8\u01dc\u0000\u1ae3\u1ae4"+
56964 "\u0005U\u0000\u0000\u1ae4\u1ae6\u0005\u029b\u0000\u0000\u1ae5\u1ae1\u0001"+
56965 "\u0000\u0000\u0000\u1ae5\u1ae3\u0001\u0000\u0000\u0000\u1ae6\u03b7\u0001"+
56966 "\u0000\u0000\u0000\u1ae7\u1ae8\u0005\u00d5\u0000\u0000\u1ae8\u1ae9\u0005"+
56967 "\u0018\u0000\u0000\u1ae9\u1aeb\u0003\u001c\u000e\u0000\u1aea\u1aec\u0005"+
56968 "\u0297\u0000\u0000\u1aeb\u1aea\u0001\u0000\u0000\u0000\u1aeb\u1aec\u0001"+
56969 "\u0000\u0000\u0000\u1aec\u1af6\u0001\u0000\u0000\u0000\u1aed\u1aee\u0005"+
56970 "%\u0000\u0000\u1aee\u1af3\u0003\u03ba\u01dd\u0000\u1aef\u1af0\u0005%\u0000"+
56971 "\u0000\u1af0\u1af2\u0003\u03ba\u01dd\u0000\u1af1\u1aef\u0001\u0000\u0000"+
56972 "\u0000\u1af2\u1af5\u0001\u0000\u0000\u0000\u1af3\u1af1\u0001\u0000\u0000"+
56973 "\u0000\u1af3\u1af4\u0001\u0000\u0000\u0000\u1af4\u1af7\u0001\u0000\u0000"+
56974 "\u0000\u1af5\u1af3\u0001\u0000\u0000\u0000\u1af6\u1aed\u0001\u0000\u0000"+
56975 "\u0000\u1af6\u1af7\u0001\u0000\u0000\u0000\u1af7\u03b9\u0001\u0000\u0000"+
56976 "\u0000\u1af8\u1af9\u0005\u0299\u0000\u0000\u1af9\u1afa\u0005\u0018\u0000"+
56977 "\u0000\u1afa\u1aff\u0007\u0000\u0000\u0000\u1afb\u1afc\u0005\u029a\u0000"+
56978 "\u0000\u1afc\u1afd\u0005\u0018\u0000\u0000\u1afd\u1aff\u0007\u0000\u0000"+
56979 "\u0000\u1afe\u1af8\u0001\u0000\u0000\u0000\u1afe\u1afb\u0001\u0000\u0000"+
56980 "\u0000\u1aff\u03bb\u0001\u0000\u0000\u0000\u1b00\u1b01\u00054\u0000\u0000"+
56981 "\u1b01\u1b02\u0005\u0111\u0000\u0000\u1b02\u1b03\u0003\u038c\u01c6\u0000"+
56982 "\u1b03\u03bd\u0001\u0000\u0000\u0000\u1b04\u1b05\u00053\u0000\u0000\u1b05"+
56983 "\u1b06\u0005\u0111\u0000\u0000\u1b06\u1b12\u0003\u038c\u01c6\u0000\u1b07"+
56984 "\u1b13\u0003\u03c0\u01e0\u0000\u1b08\u1b09\u0005M\u0000\u0000\u1b09\u1b0e"+
56985 "\u0003\u03c2\u01e1\u0000\u1b0a\u1b0b\u0005%\u0000\u0000\u1b0b\u1b0d\u0003"+
56986 "\u03c2\u01e1\u0000\u1b0c\u1b0a\u0001\u0000\u0000\u0000\u1b0d\u1b10\u0001"+
56987 "\u0000\u0000\u0000\u1b0e\u1b0c\u0001\u0000\u0000\u0000\u1b0e\u1b0f\u0001"+
56988 "\u0000\u0000\u0000\u1b0f\u1b13\u0001\u0000\u0000\u0000\u1b10\u1b0e\u0001"+
56989 "\u0000\u0000\u0000\u1b11\u1b13\u0003\u03c6\u01e3\u0000\u1b12\u1b07\u0001"+
56990 "\u0000\u0000\u0000\u1b12\u1b08\u0001\u0000\u0000\u0000\u1b12\u1b11\u0001"+
56991 "\u0000\u0000\u0000\u1b13\u03bf\u0001\u0000\u0000\u0000\u1b14\u1b15\u0007"+
56992 "(\u0000\u0000\u1b15\u03c1\u0001\u0000\u0000\u0000\u1b16\u1b17\u0005\u00d5"+
56993 "\u0000\u0000\u1b17\u1b1c\u0005\u0018\u0000\u0000\u1b18\u1b1d\u0003\u001c"+
56994 "\u000e\u0000\u1b19\u1b1a\u0003\u03a2\u01d1\u0000\u1b1a\u1b1b\u0005\u0296"+
56995 "\u0000\u0000\u1b1b\u1b1d\u0001\u0000\u0000\u0000\u1b1c\u1b18\u0001\u0000"+
56996 "\u0000\u0000\u1b1c\u1b19\u0001\u0000\u0000\u0000\u1b1d\u1b25\u0001\u0000"+
56997 "\u0000\u0000\u1b1e\u1b1f\u0005\u028b\u0000\u0000\u1b1f\u1b20\u0005\u0018"+
56998 "\u0000\u0000\u1b20\u1b26\u0003\u001c\u000e\u0000\u1b21\u1b23\u0003\u03c4"+
56999 "\u01e2\u0000\u1b22\u1b24\u0003\u03c4\u01e2\u0000\u1b23\u1b22\u0001\u0000"+
57000 "\u0000\u0000\u1b23\u1b24\u0001\u0000\u0000\u0000\u1b24\u1b26\u0001\u0000"+
57001 "\u0000\u0000\u1b25\u1b1e\u0001\u0000\u0000\u0000\u1b25\u1b21\u0001\u0000"+
57002 "\u0000\u0000\u1b25\u1b26\u0001\u0000\u0000\u0000\u1b26\u1b3c\u0001\u0000"+
57003 "\u0000\u0000\u1b27\u1b28\u0005\u0298\u0000\u0000\u1b28\u1b29\u0005\u0018"+
57004 "\u0000\u0000\u1b29\u1b3c\u00032\u0019\u0000\u1b2a\u1b2b\u0005\u0279\u0000"+
57005 "\u0000\u1b2b\u1b2c\u0005\u0018\u0000\u0000\u1b2c\u1b3c\u0003*\u0015\u0000"+
57006 "\u1b2d\u1b2e\u0005\u00aa\u0000\u0000\u1b2e\u1b2f\u0005\u0018\u0000\u0000"+
57007 "\u1b2f\u1b3c\u0003\u038c\u01c6\u0000\u1b30\u1b31\u0005\u029a\u0000\u0000"+
57008 "\u1b31\u1b32\u0005\u0018\u0000\u0000\u1b32\u1b3c\u0007\u0000\u0000\u0000"+
57009 "\u1b33\u1b34\u0005\u0299\u0000\u0000\u1b34\u1b35\u0005\u0018\u0000\u0000"+
57010 "\u1b35\u1b3c\u0007\u0000\u0000\u0000\u1b36\u1b37\u0005\u0145\u0000\u0000"+
57011 "\u1b37\u1b38\u0005\u0018\u0000\u0000\u1b38\u1b3c\u0003*\u0015\u0000\u1b39"+
57012 "\u1b3a\u0005\u00e8\u0000\u0000\u1b3a\u1b3c\u0005\u0145\u0000\u0000\u1b3b"+
57013 "\u1b16\u0001\u0000\u0000\u0000\u1b3b\u1b27\u0001\u0000\u0000\u0000\u1b3b"+
57014 "\u1b2a\u0001\u0000\u0000\u0000\u1b3b\u1b2d\u0001\u0000\u0000\u0000\u1b3b"+
57015 "\u1b30\u0001\u0000\u0000\u0000\u1b3b\u1b33\u0001\u0000\u0000\u0000\u1b3b"+
57016 "\u1b36\u0001\u0000\u0000\u0000\u1b3b\u1b39\u0001\u0000\u0000\u0000\u1b3c"+
57017 "\u03c3\u0001\u0000\u0000\u0000\u1b3d\u1b3e\u0007_\u0000\u0000\u1b3e\u03c5"+
57018 "\u0001\u0000\u0000\u0000\u1b3f\u1b40\u00059\u0000\u0000\u1b40\u1b41\u0005"+
57019 "\u0145\u0000\u0000\u1b41\u1b46\u0003*\u0015\u0000\u1b42\u1b43\u00054\u0000"+
57020 "\u0000\u1b43\u1b44\u0005\u0145\u0000\u0000\u1b44\u1b46\u0003*\u0015\u0000"+
57021 "\u1b45\u1b3f\u0001\u0000\u0000\u0000\u1b45\u1b42\u0001\u0000\u0000\u0000"+
57022 "\u1b46\u03c7\u0001\u0000\u0000\u0000\u1b47\u1b4c\u0005\u029d\u0000\u0000"+
57023 "\u1b48\u1b49\u0005M\u0000\u0000\u1b49\u1b4a\u0005\u029e\u0000\u0000\u1b4a"+
57024 "\u1b4b\u0005\u0018\u0000\u0000\u1b4b\u1b4d\u0003\u00d0h\u0000\u1b4c\u1b48"+
57025 "\u0001\u0000\u0000\u0000\u1b4c\u1b4d\u0001\u0000\u0000\u0000\u1b4d\u03c9"+
57026 "\u0001\u0000\u0000\u0000\u032b\u0405\u0408\u0418\u0424\u042a\u042c\u042e"+
57027 "\u0435\u043b\u043d\u0445\u0449\u0451\u0455\u045b\u0466\u046b\u0476\u0482"+
57028 "\u0486\u0493\u049a\u049f\u04a4\u04ab\u04b2\u04bb\u04c0\u04c2\u04c9\u04d4"+
57029 "\u04d8\u04e9\u04f4\u04fa\u0501\u0505\u050f\u0515\u0517\u051c\u0529\u0533"+
57030 "\u0535\u0544\u0553\u0555\u055c\u0563\u056c\u0573\u057c\u0582\u0585\u05a8"+
57031 "\u05aa\u05b6\u05be\u05c4\u05ce\u05d5\u05db\u05e0\u05e7\u05eb\u05f6\u0606"+
57032 "\u0611\u0616\u0621\u0625\u062c\u0633\u0637\u063c\u063f\u064f\u0658\u0664"+
57033 "\u0666\u066b\u066f\u0672\u0677\u0680\u0685\u068d\u0699\u06a2\u06a8\u06b0"+
57034 "\u06b3\u06b6\u06c1\u06c9\u06d2\u06da\u06e2\u06e6\u06f3\u06f5\u06fe\u0713"+
57035 "\u0718\u0724\u0731\u073a\u0747\u075a\u0763\u0767\u0780\u078a\u0794\u079d"+
57036 "\u07ab\u07b3\u07b9\u07c1\u07cc\u07d3\u07dd\u07e2\u0803\u080c\u080f\u0816"+
57037 "\u081d\u0824\u082d\u0834\u083a\u0841\u0847\u084e\u0854\u085b\u0861\u0868"+
57038 "\u086f\u0871\u0876\u087d\u0887\u0893\u089a\u089e\u08a0\u08a3\u08a7\u08aa"+
57039 "\u08b0\u08b5\u08c0\u08c4\u08c6\u08c9\u08ce\u08dd\u08e1\u08ed\u08f2\u08fb"+
57040 "\u0902\u0907\u0916\u0920\u092b\u092e\u093a\u093e\u0950\u0955\u0959\u095e"+
57041 "\u0962\u0969\u096e\u0976\u097f\u0983\u0987\u098a\u098d\u0990\u099e\u09a3"+
57042 "\u09a8\u09ba\u09bc\u09c7\u09cf\u09d4\u09dd\u09e4\u09ea\u09f3\u09f6\u09f9"+
57043 "\u09fc\u0a05\u0a0d\u0a16\u0a1d\u0a20\u0a28\u0a2a\u0a2d\u0a37\u0a3c\u0a41"+
57044 "\u0a45\u0a48\u0a4c\u0a4f\u0a54\u0a5c\u0a65\u0a6d\u0a70\u0a73\u0a76\u0a7c"+
57045 "\u0a80\u0a88\u0a9e\u0aa0\u0aa5\u0aa7\u0aae\u0ab0\u0ab4\u0abc\u0aca\u0ad3"+
57046 "\u0ae2\u0ae8\u0aec\u0af3\u0b07\u0b10\u0b13\u0b29\u0b2b\u0b36\u0b46\u0b4b"+
57047 "\u0b4f\u0b54\u0b5b\u0b65\u0b6c\u0b6f\u0b7a\u0b7e\u0b83\u0b89\u0b8e\u0b91"+
57048 "\u0b9c\u0ba5\u0ba9\u0bb8\u0bbf\u0bcb\u0bce\u0bd2\u0bd6\u0bdf\u0be2\u0be5"+
57049 "\u0bec\u0bf1\u0bfa\u0c0e\u0c10\u0c16\u0c1d\u0c22\u0c29\u0c2d\u0c33\u0c39"+
57050 "\u0c3e\u0c44\u0c4b\u0c51\u0c5a\u0c61\u0c63\u0c69\u0c6c\u0c6f\u0c74\u0c7b"+
57051 "\u0c84\u0c89\u0c92\u0c94\u0c99\u0ca2\u0ca4\u0ca7\u0cb9\u0cbb\u0cc5\u0ccc"+
57052 "\u0ccf\u0cd3\u0cdb\u0cde\u0ce2\u0ce9\u0cf0\u0cfb\u0d17\u0d1f\u0d31\u0d33"+
57053 "\u0d3a\u0d3d\u0d3f\u0d46\u0d48\u0d4d\u0d54\u0d59\u0d5c\u0d60\u0d69\u0d6c"+
57054 "\u0d74\u0d78\u0d7c\u0d81\u0d86\u0d8a\u0d95\u0d9c\u0da2\u0da6\u0daa\u0db2"+
57055 "\u0db4\u0db7\u0dbe\u0dc3\u0dcc\u0dd1\u0dd9\u0de0\u0de8\u0df1\u0dfd\u0e0d"+
57056 "\u0e10\u0e12\u0e15\u0e18\u0e1b\u0e1e\u0e30\u0e35\u0e3a\u0e3f\u0e42\u0e46"+
57057 "\u0e4e\u0e5a\u0e5d\u0e60\u0e6f\u0e72\u0e75\u0e79\u0e7d\u0e87\u0e8a\u0e8d"+
57058 "\u0e98\u0e9d\u0ea3\u0ea7\u0eaa\u0eb5\u0eb8\u0ebd\u0ebf\u0ecb\u0ece\u0ed5"+
57059 "\u0ed8\u0edc\u0ee0\u0ee3\u0ee6\u0eea\u0ef5\u0ef8\u0eff\u0f02\u0f06\u0f0d"+
57060 "\u0f12\u0f1d\u0f22\u0f24\u0f31\u0f3c\u0f44\u0f47\u0f4b\u0f51\u0f5b\u0f65"+
57061 "\u0f6a\u0f76\u0f7c\u0f7f\u0f82\u0f85\u0f88\u0f8b\u0f8e\u0f92\u0f97\u0f9e"+
57062 "\u0fa5\u0fb2\u0fbe\u0fc4\u0fcd\u0fd0\u0fd4\u0fd8\u0fe1\u0fe6\u0fef\u0ff1"+
57063 "\u0ff6\u0ff8\u0fff\u100a\u1013\u101a\u101c\u1025\u102a\u1031\u1038\u104a"+
57064 "\u104f\u1053\u106e\u1071\u107a\u1093\u1096\u1098\u109d\u10a5\u10ba\u10bc"+
57065 "\u10c5\u10c8\u10d7\u10dc\u10e5\u10f9\u10fc\u1100\u110c\u110e\u111b\u111d"+
57066 "\u1127\u1154\u115a\u1163\u1172\u1176\u117f\u1185\u118f\u1198\u11a3\u11af"+
57067 "\u11b1\u11b9\u11c7\u11cf\u11d4\u11d6\u11df\u11e5\u11fa\u1201\u1209\u120e"+
57068 "\u1210\u1239\u123e\u124d\u1255\u126c\u1275\u127d\u1288\u128d\u1295\u12a0"+
57069 "\u12ab\u12b4\u12bb\u12bf\u12c5\u12da\u12e8\u12eb\u12f6\u12fb\u12fe\u1302"+
57070 "\u1305\u1309\u130c\u1312\u1315\u1318\u131e\u1321\u1329\u132d\u1330\u1335"+
57071 "\u1340\u1343\u1346\u134a\u134f\u1353\u135f\u1363\u136b\u1372\u1376\u1379"+
57072 "\u137d\u1381\u1384\u1387\u138b\u138e\u1391\u1395\u1398\u139b\u13a6\u13aa"+
57073 "\u13af\u13b3\u13bb\u13bf\u13c4\u13c8\u13cc\u13d0\u13d3\u13d6\u13d9\u13dc"+
57074 "\u13df\u13e6\u13e8\u13ee\u13f6\u13fa\u13fe\u1401\u1404\u1406\u140a\u140e"+
57075 "\u1411\u1415\u141f\u1422\u1424\u1428\u1437\u143e\u1443\u1446\u144a\u144e"+
57076 "\u1452\u1455\u145b\u145e\u1461\u1467\u146a\u146e\u1473\u1479\u147b\u1481"+
57077 "\u148d\u149f\u14a4\u14ac\u14b1\u14b3\u14ba\u14c1\u14c4\u14cc\u14f6\u14f8"+
57078 "\u150d\u1514\u154c\u1552\u155a\u155d\u1567\u1569\u156b\u1570\u1572\u1574"+
57079 "\u157a\u157c\u1583\u1589\u158b\u158d\u158f\u1594\u1598\u15a0\u15a2\u15ac"+
57080 "\u15ae\u15b2\u15b6\u15b8\u15bd\u15bf\u15c2\u15cb\u15d5\u15e1\u15e6\u15ee"+
57081 "\u15f4\u15f8\u15fd\u1605\u160b\u160f\u1614\u1618\u161f\u1628\u162f\u1636"+
57082 "\u163e\u1642\u1647\u164f\u1653\u1657\u165c\u1664\u1668\u166d\u1672\u167a"+
57083 "\u167e\u1682\u1687\u168f\u1693\u169b\u16b0\u16c2\u16cd\u16e2\u16fc\u1711"+
57084 "\u1715\u171a\u1723\u1725\u1737\u174b\u1756\u1769\u176d\u1775\u1779\u1784"+
57085 "\u17a0\u17a6\u17c3\u17ca\u17ce\u17d3\u17dd\u17e8\u17f2\u17fb\u1811\u181e"+
57086 "\u1825\u1831\u183e\u184b\u1856\u1862\u1868\u186e\u1874\u1880\u188d\u189a"+
57087 "\u18a6\u18ac\u18b2\u18b9\u18bd\u18ca\u18d7\u18e0\u18ea\u191a\u1924\u1926"+
57088 "\u1932\u1938\u1940\u1943\u194c\u194f\u195c\u195f\u1966\u196c\u1973\u197b"+
57089 "\u197e\u1989\u198c\u1995\u199e\u19a6\u19a8\u19b1\u19b6\u19b8\u19be\u19c9"+
57090 "\u19cc\u19ce\u19d6\u19dc\u19e6\u19f1\u19f6\u1a03\u1a09\u1a12\u1a1d\u1a23"+
57091 "\u1a28\u1a2a\u1a31\u1a36\u1a47\u1a51\u1a57\u1a5f\u1a62\u1a6a\u1a6d\u1a81"+
57092 "\u1a8e\u1a91\u1a98\u1aa0\u1aab\u1aae\u1ab7\u1abc\u1ac4\u1ad3\u1adf\u1ae5"+
57093 "\u1aeb\u1af3\u1af6\u1afe\u1b0e\u1b12\u1b1c\u1b23\u1b25\u1b3b\u1b45\u1b4c";
57094 public static final String _serializedATN = Utils.join(
57095 new String[] {
57096 _serializedATNSegment0,
57097 _serializedATNSegment1,
57098 _serializedATNSegment2
57099 },
57100 ""
57101 );
57102 public static final ATN _ATN =
57103 new ATNDeserializer().deserialize(_serializedATN.toCharArray());
57104 static {
57105 _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
57106 for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
57107 _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
57108 }
57109 }
57110 }